초급 질문 : 자바 스크립트에서 임의의 포인트를 만듭니다. 나중에 어떻게 하나 하나씩 "호출"할 수 있습니까? 저는 이것이 Object (모든 점의 목록)라고 불리우며 목록에서 자신의 위치를 조작하거나 필요한 것을 끌어낼 수 있다고 생각합니다. js에서 어떻게합니까? 대한Three.js 랜덤 포인트 목록
var dots = [];
:
라인 무엇인가? 그 후 다른 사람이 덧붙인 코멘트는받지 못했습니다.
Three.js의 두 점 사이에 선을 만들려면 어떻게해야합니까? (예 : 목록의 첫 번째와 두 번째 - 0과 1)?
더 복잡한 질문 : 여기에서 Java 스크립트의 X (이 경우 20 개) 임의의 점을 만듭니다. 나는 임의로 3 점의 그룹을 사용하여 얼굴을 만들고 메쉬를 형성하는 방법을 찾아 내려고 노력 중이다.
모든 얼굴이 연속 메쉬로 묶여있는 결과가 필요하기 때문에 무작위로는 안됩니다. 결과는 여러 버텍스 포인트로 만들어진 지형 폴리 표면처럼 보입니다.
var numpoints = 20;
var dots = []; //If you want to use for other task
for (var i = 0 ; i < numpoints ; i++) {
var x = Math.random() * (80 - 1) + 1 //Math.random() * (max - min) + min
var y = Math.random() * (80 - 1) + 1
var z = Math.random() * (10 - 1) + 1
var dotGeometry = new THREE.Geometry();
dots.push(dotGeometry);
dotGeometry.vertices.push(new THREE.Vector3(x, y, z));
var dotMaterial = new THREE.PointCloudMaterial({ size: 3, sizeAttenuation: false, color: 0xFF0000 });
var dot = new THREE.PointCloud(dotGeometry, dotMaterial);
scene.add(dot);
}
그룹화는 상면으로 간주되기 때문에 조금 더 힘듭니다 (양면 재질을 사용하지 않는 한 제 생각에는 처리가 더 힘듭니다). 상면은 축 주위로 시계 방향으로 회전해야하므로 그들을 시계 방향으로 보는 방법 ... 그건 복잡합니다. 그러나 쉽게 포인트를 만들 수 있고 (새로운 THREE.Vector3 (x, y, z)),이를 지오 메트릭에 추가 할 수 있습니다 (새로운 THREE.Geometry.vertices.push (point1, point2, ...)). 얼굴을 만들려면'새로운 THREE.Face3 (pointVertexIndex1, pointVertexIndex2, pointVertexIndex3)'(Geometry.faces로 푸시)를 사용할 수 있습니다. – somethinghere
'var dots = [];'은 var dots = new Array()와 동일합니다. 의견은 의미가 없습니다. –