Odpowiedz
Zakładam, że masz na myśli to, że chcesz obrócić obiekt wokół określonego punktu w jego geometrii.
Na przykład cylinderGeometry
obraca się wokół tego centrum. Załóżmy, że chcesz go obrócić wokół jego koniec.
Co trzeba zrobić, to przetłumaczyć geometrię cylindra zaraz po jej utworzeniu, aby żądany punkt w geometrii znajdował się teraz w punkcie początkowym.
geometry.applyMatrix(new THREE.Matrix4().makeTranslation(0, cylinderHeight/2, 0));
EDIT: Teraz można to zrobić, zamiast:
geometry.translate(0, cylinderHeight/2, 0); // three.js r.72
Teraz, kiedy obrócić cylinder, będzie teraz obracać wokół jego końca, a nie jego środku.
Koniec, w którym się obraca, będzie również znajdować się w położeniu ustawionym dla siatki cylindra.
Oczywiście można to zrobić za pomocą dowolnej geometrii, a nie tylko cylindrów.
Aby dać przykład kodu do powyższego odpowiedź na 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);
obecnie prace obrót wokół pochodzenia skokowej:
cylinder.rotation.x = 0.5*Math.PI;
nadzieję, że pomoże.
Dziękuję - bardzo mi pomogłeś! – bernhardrusch
- 1. Jak mogę obrócić widget kontenera w 2D wokół określonego punktu kontrolnego?
- 2. Android, Jak mogę obrócić strzałkę (obraz) wokół ustalonego punktu?
- 3. Obracanie punktu wokół punktu za pomocą OpenCV
- 4. Obracanie prostokąta wokół punktu
- 5. Jak obrócić niektóre księżyce wokół planety za pomocą THREE.js?
- 6. Obracanie punktu wokół innego punktu
- 7. Jak mogę niezawodnie obracać obraz wokół punktu?
- 8. C++ Obracanie wektor wokół pewnego punktu
- 9. Python OpenCV obraca obraz o X stopni wokół określonego punktu
- 10. Jak obrócić w CSS3 wokół początku?
- 11. Jaki jest najlepszy sposób obracania punktu CGPoint na siatce?
- 12. Jak mogę obrócić widok UIImageView względem dowolnego punktu (innego niż jego środek)?
- 13. Obracanie obiektów wokół stałego punktu w OpenGL
- 14. Obróć kamerę wokół obiektu za pomocą Three.js
- 15. javascript: W jaki sposób obrócić tekst za pomocą javascript?
- 16. Jak obrócić obiekt wokół centrum w d3.js
- 17. AS3 Obróć obiekt wokół jego punktu środkowego.
- 18. Właściwa trygonometria do obracania punktu wokół źródła
- 19. Jednoetapowa transformacja afiniczna do obrotu wokół punktu?
- 20. rysowanie okręgu o promieniu R wokół punktu
- 21. Po prostu ciekawy, w jaki sposób wokół MustOverride w C#?
- 22. W jaki sposób Qt narysuje obramowanie wokół prostokąta?
- 23. Jak mogę obrócić UIImageView w Interface Builder?
- 24. obrócić UIView wokół jego środka, ale kilka razy
- 25. libgdx shaperenderer Jak obrócić prostokąt wokół jego środka?
- 26. Three.js - Jak obrócić obiekt, aby go spojrzeć? W jednym punkcie i orientować się w kierunku innego
- 27. Jak obliczyć promień wokół punktu w Android MapView?
- 28. W jaki sposób mogę zaimportować @ typy/trzy w angleular2
- 29. jak napisać css dla określonego punktu przerwania w kanciastym materiale
- 30. CSS obrotu względem punktu odniesienia
Dzięki, to działa. ale w przypadku geometrii rur, w jaki sposób umieścić pomocnika osiowego na krawędzi rury lub, innymi słowy, pomocnika osiowego w każdym punkcie segmentu, aby użytkownik mógł obracać lub obracać rurką? Proszę spojrzeć na moje inne pytanie na [link] (http://stackoverflow.com/questions/12776933/three-js-rotate-tube-geometry-z-segment-point-and-show-different-values) - @WestLangley – Valay
Czy możesz w ten sposób wpasować geometrię rur? Chcę obrócić konkretną część geometrii rury. Kiedy się obracam, cała rura jest obracana. – Valay
Musisz utworzyć nowy post. – WestLangley