7
A
回答
15
我假設你的意思是你想要一個物體圍繞其幾何形狀內的特定點旋轉。
例如,cylinderGeometry
圍繞其旋轉中心。假設您希望它圍繞其端旋轉。
您需要做的是在創建圓柱體後立即轉換圓柱體幾何圖形,以便幾何體內的所需點現在位於原點。
geometry.applyMatrix(new THREE.Matrix4().makeTranslation(0, cylinderHeight/2, 0));
編輯:現在你可以做到這一點,而不是:
geometry.translate(0, cylinderHeight/2, 0); // three.js r.72
現在,當你旋轉圓筒,它現在將繞它的結束,而不是它的中間。
它正在旋轉的末端也將位於您爲圓柱體網格設置的位置。
顯然,你可以用任何幾何體來做到這一點,而不僅僅是圓柱體。
5
舉一個代碼示例WestLangley上述答案:
// CYLINDER
var cyl_material = new THREE.MeshBasicMaterial({ color: 0xff0000 });
var cyl_width = 1;
var cyl_height = 5;
// THREE.CylinderGeometry(bottomRadius, topRadius, height, segmentsRadius, segmentsHeight, openEnded)
var cylGeometry = new THREE.CylinderGeometry(cyl_width, cyl_width, cyl_height, 20, 1, false);
// translate the cylinder geometry so that the desired point within the geometry is now at the origin
cylGeometry.applyMatrix(new THREE.Matrix4().makeTranslation(0, cyl_height/2, 0));
var cylinder = new THREE.Mesh(cylGeometry, cyl_material);
scene.add(cylinder);
現在周圍的氣缸原點旋轉作品:
cylinder.rotation.x = 0.5*Math.PI;
希望有所幫助。
+0
謝謝 - 你幫了我很多! – bernhardrusch
相關問題
- 1. 圍繞特定點旋轉(例如,圍繞0,0,0旋轉)
- 2. 如何圍繞軸旋轉Three.js Vector3?
- 3. OpenSCAD:圍繞特定點旋轉?
- 4. OpenCV,圍繞特定點旋轉
- 5. 圍繞特定點旋轉graphics2d
- 6. X3dom:旋轉圓柱體
- 7. Three.js相機圓頂旋轉
- 8. Three.js - 表示矢量的圓柱體的旋轉
- 9. Three.js圓柱體在3D平面中旋轉
- 10. 如何圍繞特定點旋轉幾何圖形?
- 11. 如何在three.js中的特定點周圍旋轉球體?
- 12. 如何圍繞特定點來回旋轉物體?
- 13. 如何讓圖像圍繞自身旋轉並圍繞圓圈旋轉?
- 14. 圍繞點旋轉
- 15. Three.js - 圍繞某個軸旋轉球體
- 16. 圍繞一個軸旋轉three.js
- 17. 圍繞X軸旋轉攝像頭(three.js)
- 18. 圍繞原點旋轉點
- 19. three.js - 識別管圓周上的點並從該點旋轉
- 20. 如何計算圓柱體「頂部」圓心,給定旋轉角度?
- 21. 旋轉圓點擊
- 22. 用OpenGL旋轉圓柱多少?
- 23. 如何繞一個點旋轉SCNNode?
- 24. OpenGL - 圍繞特定軸旋轉平面?
- 25. Three.js中的旋轉錨點
- 26. 圍繞圓圈旋轉組別單獨
- 27. 圍繞圓圈旋轉圖像?
- 28. 圍繞軸旋轉一個橢圓
- 29. css/javascript圍繞圓弧旋轉圖像
- 30. 圍繞任意軸的圓形旋轉
謝謝,它的工作原理。但是在管幾何形狀的情況下,我怎麼把軸助手放在管的邊緣,或者換句話說,在每個節段點上都有軸助手,以便用戶可以旋轉或旋轉管?請看看我的另一個問題[鏈接](http://stackoverflow.com/questions/12776933/three-js-rotate-tube-geometry-from-segment-point-and-show-different-values) - @WestLangley – Valay
你能幫助以這種方式旋轉管幾何嗎?我想旋轉管幾何的特定部分。當我旋轉時,整個管旋轉。 – Valay
您需要創建一個新帖子。 – WestLangley