this 웹 사이트의 궤도 패턴과 매우 유사한 원을 그리려합니다. 순수 WebGL 대신 Three.js를 사용하고 싶습니다.Three.js로 원을 그립니다.
답변
3.js r50은 CircleGeometry
을 더했다. WebGL Geometries example에 (얼굴은 있지만) 볼 수 있습니다.
형상의 첫 번째 꼭지점은 원의 중심에 작성됩니다 (r84에서는 CircleGeometry.js line 71, r65에서는 CircleGeometry.js line 18 참조). "전체 Pac-Man"또는 "uninformative 원형 차트 "모양. 아, 그리고 LineBasicMaterial
/LineDashedMaterial
이외의 자료를 사용하려는 경우 필요합니다.
var radius = 100,
segments = 64,
material = new THREE.LineBasicMaterial({ color: 0x0000ff }),
geometry = new THREE.CircleGeometry(radius, segments);
// Remove center vertex
geometry.vertices.shift();
scene.add(new THREE.Line(geometry, material));
PS :
나는 다음과 같은 코드가 모두 R60 & R65에서 작동하는 것을 확인했습니다 https://threejs.org/docs/#api/geometries/CircleGeometry
색깔이있는 선을 그리는 방법을 보려면 three.js 샘플 http://mrdoob.github.com/three.js/examples/webgl_lines_colors.html을 참조하십시오.
당신이 인용 한 것과 같은 원형은 작은 직선 세그먼트의 큰 #으로 그려집니다. (사실, 당신이 보여주는 것들은 타원이 될 수 있습니다.)
나는 Mr.Doob이 참조하는 코드를 this github post에 사용했습니다.
var resolution = 100;
var amplitude = 100;
var size = 360/resolution;
var geometry = new THREE.Geometry();
var material = new THREE.LineBasicMaterial({ color: 0xFFFFFF, opacity: 1.0});
for(var i = 0; i <= resolution; i++) {
var segment = (i * size) * Math.PI/180;
geometry.vertices.push(new THREE.Vertex(new THREE.Vector3(Math.cos(segment) * amplitude, 0, Math.sin(segment) * amplitude)));
}
var line = new THREE.Line(geometry, material);
scene.add(line);
를 작동하지 않을 때 take var mesh = new THREE.Mesh (지오메트리, 재질); 어떤 아이디어 ..? – GvSharma
최신 버전의 3js에서 API가 약간 변경되었습니다.
var segmentCount = 32,
radius = 100,
geometry = new THREE.Geometry(),
material = new THREE.LineBasicMaterial({ color: 0xFFFFFF });
for (var i = 0; i <= segmentCount; i++) {
var theta = (i/segmentCount) * Math.PI * 2;
geometry.vertices.push(
new THREE.Vector3(
Math.cos(theta) * radius,
Math.sin(theta) * radius,
0));
}
scene.add(new THREE.Line(geometry, material));
수정 segmentCount
Vector3
생성자 내의 세 구성 요소의 순서를 수정하여 원의 방향을 선택합니다. 여기에 주어진 바와 같이 원은 x/y 평면에 정렬됩니다.
내가 3을 할 때 이것은 작동하지 않습니다. 메시 ... 어떤 생각? – GvSharma
이 예에 다음 "문서는"지금은 좋은 CircleGeometry
대화 예제를 포함 three.js를 문서 :이
var material = new THREE.MeshBasicMaterial({
color: 0x0000ff
});
var radius = 5;
var segments = 32; //<-- Increase or decrease for more resolution I guess
var circleGeometry = new THREE.CircleGeometry(radius, segments);
var circle = new THREE.Mesh(circleGeometry, material);
scene.add(circle);
var getStuffDashCircle2 = function() {
var segment = 100, radius = 100;
var lineGeometry = new THREE.Geometry();
var vertArray = lineGeometry.vertices;
var angle = 2 * Math.PI/segment;
for (var i = 0; i < segment; i++) {
var x = radius * Math.cos(angle * i);
var y = radius * Math.sin(angle * i);
vertArray.push(new THREE.Vector3(x, y, 0));
}
lineGeometry.computeLineDistances();
var lineMaterial = new THREE.LineDashedMaterial({ color: 0x00cc00, dashSize: 4, gapSize: 2 });
var circle = new THREE.Line(lineGeometry, lineMaterial);
circle.rotation.x = Math.PI/2;
circle.position.y = cylinderParam.trackHeight+20;
return circle;
}
- 1. Android보기에서 점선 원을 그립니다.
- 2. XNA에 간단한 원을 그립니다.
- 3. XNA 채워진 원을 그립니다.
- 4. 안드로이드에 역 충전으로 원을 그립니다
- 5. OpenGL을 사용하여 안드로이드에 원을 그립니다.
- 6. iOS 5 - 터치시 원을 그립니다.
- 7. [iPhone] Google지도의 위치 주변에 원을 그립니다.
- 8. 배열에 점을 먼저 저장하는 무작위 원을 그립니다.
- 9. 점 주위에 반경 R의 원을 그립니다.
- 10. OpenGL-es로 안드로이드에 원을 그려서 사각형을 그립니다.
- 11. Three.js로 모델 로딩
- 12. min (너비, 높이)/2를 반경으로 사용하여 WPF에서 원을 그립니다.
- 13. 3dStudioMax에서 THREE.js로 모델 가져 오기
- 14. Three.js로 중국어 문자를 표시하는 방법
- 15. 다른 원을 중심으로 원을 회전
- 16. 두 개의 반원을 그립니다.
- 17. 일식 rcp보기에서 그립니다?
- 18. 안드로이드에서 15km 반경을 그립니다.
- 19. SVG에 보이드 모양을 그립니다.
- 20. 그립니다?
- 21. VB.Net을 사용하여 양식을 원으로 그립니다.
- 22. Three.js로 전체 장면을 재설정하려고하면 성능이 떨어집니다.
- 23. ZigFu와 Three.Js로 손가락을 추적 할 수 있습니까?
- 24. WebGL 및 three.js로 동작 흐림 효과
- 25. three.js로 마우스 오버시 이미지 좌표를 얻으려면 어떻게해야합니까?
- 26. 사용자가 화면을 터치하는 부분을 그립니다.
- 27. iphone 앱의 MKMapview에 서클을 그립니다.
- 28. 상단에서 시작하는 원을 그리는 방법
- 29. 마커 주변에서 다각형/원을 제거 하시겠습니까?
- 30. 임의의 원을 그려서 배열에 저장합니다.
매우 근사합니다! 이것이 라이브러리에 추가되어 기쁩니다. – theblang
이 방법을 'THREE.Line'과 함께 사용하면 첫 번째와 마지막 꼭지점 사이에 간격이 있습니다. 완전히 닫힌 원을 얻으려면 대신'THREE.LineLoop'을 사용하십시오. https://threejs.org/docs/#api/objects/LineLoop – jackrugile