New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rotate a cube around it's edge. #1254
Comments
What about something like this? var dummy = new THREE.Object3D();
dummy.position.x = 50;
dummy.position.z = 50;
scene.add( dummy );
var cube = new THREE.Mesh( new THREE.CubeGeometry( 100, 100, 100 ), new THREE.MeshBasicMaterial() );
cube.position.x = - 50;
cube.position.z = - 50;
dummy.add( cube ); |
Thanks for the reply. Unfortunately, the cube in your example still rotates around it's local axis that goes through it's center no matter what I call: function rotateAroundObjectAxis( object, axis, radians ) { .. } or function rotateAroundWorldAxis( object, axis, radians ) { .. } What I really want to figure out is how to shift the axis of rotation of a particular object. Many thanks. |
Did you try rotating the dummy/container instead of the cube? |
Good point. It works this way. But why it's not so straitforward :-) ? I thouht it should be some matrices arithmetic using the function I suggested in my initial post or something more convenient. function rotateAroundArbitraryAxis( object, axisDirection, axisBasePoint, radians ) { .. } by axisBasePoint I mean the point the specified axis goes through. With kind regards. |
@oosmoxiecode Uops! Yeah, forgot that on my snippet. @landlord Well, it's straightforward to me. It doesn't even require matrices knowledge ;) I guess is just a matter of thinking differently... Either way, internally, the same matrix calculations are happening. |
Hi, Everybody!
I was asking already about rotations around an arbitrary axis and got clear answers posted in #1219 and #1220.
But it's still unclear how to rotate a cube around one of it's edges (could anyone to share such a code if it exists).
There were posted two functions in #1219:
and
They allow me to rotate a cube about an arbitrary axis that goes through the center of it's bounding box.
What I need is to rotate an object around an arbitrary axis which is not necessarily goes though the object's center.
How to do that correctly?
Sorry, if I'm a bit annoying about that but I want to implement such a functionality.
Thanks.
P.S. It seems that I need a function that looks like:
function rotateAroundArbitraryAxis( object, axisDirection, axisBasePoint, radians ) { .. }
by axisBasePoint I mean the point the specified axis goes through.
I read on the Internet that such a rotation should be done in several steps:
Do I understand it correctly?
How to perform such an operation with three.js?
I tried to multiply different (translation/rotation) matrices with each other in three.js but did not get the desired result :-(
Many thanks.
The text was updated successfully, but these errors were encountered: