Forum Coordinators: RedPhantom
Poser - OFFICIAL F.A.Q (Last Updated: 2024 Nov 29 7:57 am)
Attached Link: http://en.wikipedia.org/wiki/Gimbal_lock
Are you talking about the Gimbal Lock? If you rotate the object on one or two axes, you will get strange results on the third axis. Parent your object to another one and do all the rotations on xRotate and zRotate there. Use yRotate of the object.
A ship in port is safe;
but that is not what ships are built for.
Sail out to sea and do new things.
-"Amazing
Grace" Hopper
Avatar image of me done by Chidori.
I had this in P7 for Mac on a single sided plane I was using for a mirror. Having rotated it 90 degrees around the x-axis to stand it on end, I could no longer rotate it around the y-axis. The y-rotation dial did the same as the z-rotation dial, just as in your example.
Sorry, I didn't get to the bottom of the problem, but I need to bookmark this thread to see what others have to say about it.
"If I were a shadow, I know I wouldn't like to be half of
what I should be."
Mr Otsuka, the old black tomcat in Kafka on the Shore (Haruki
Murakami)
PS - I understand the gimbal lock explanation, but I don't see how a mechanical problem like that relates to virtual axes as used in Poser. Second Life has no problems like this with prim rotation!
"If I were a shadow, I know I wouldn't like to be half of
what I should be."
Mr Otsuka, the old black tomcat in Kafka on the Shore (Haruki
Murakami)
Attached Link: http://www.renderosity.com/mod/forumpro/showthread.php?message_id=3154360&ebot_calc_page#message_3154360
I think Second Life uses the world axis only. Here is one older thread about the subject.
A ship in port is safe;
but that is not what ships are built for.
Sail out to sea and do new things.
-"Amazing
Grace" Hopper
Avatar image of me done by Chidori.
Yes. Some (Euler) rotation systems use a fixed axis system (usually a parent system) to avoid gimbal lock. Cinema 4D does something like this. The problem with most Euler rotation systems, including Poser's, is that they use a rotating axis system. That is, the first rotation not only rotates 'the object' but it rotates the coordinate system attached to it.
Here is how the Cinema 4D HPB system is explained in the Cinema 4D documenation:
Some people do not understand why rotations around the Zaxis (the bank angle) are performed in the object system whereas rotations around Y and X axes (heading and pitch) are always made in the world system. With animation, even switching to XYZ rotations doesn’t help since CINEMA 4D is using the HPB system internally.
The HPB system is a so-called Euler system where the HPB angles do not refer in principle to the axes of the object itself.
Consider this example
Take an object whose angle system is initially 0/0/0.
First make a rotation of 30° around heading, so that the X and Z axes of the object system are now rotated compared to the X and Z axes of the world system. Call these new axes X and Z (Y is identical to Y).
A pitch of 20° now causes the object system to be rotated upward around the object system’s X axis. Z becomes Z and Y becomes Y (now X and X are identical).
Lastly, we rotate around a bank angle of -45°. This rotation causes the rotated object system to be tilted around the Z axis. X becomes X and Y becomes Y (this time Z and Z are identical).
The object has now achieved an angle system of 30/20/-45 by consecutive rotations around H, P and B on a system in each case already rotated. Thus, HPB rotates neither around object nor around world axes. That bank is identical to a rotation around an object axis is purely coincidental. There are several different Euler systems, each one with a particular rotation order.
While this all seems rather impractical, the Euler system has a major advantage: Rotations of objects are decoupled from one another as much as possible, which is not the case with rotations around object axes. Heading does not affect bank, bank does not affect pitch. Imagine if the X position of an object always affected the Y and Z positions ...
Now that you are as confused as I am... ;)
C makes it easy to shoot yourself in the
foot. C++ makes it harder, but when you do, you blow your whole leg
off.
-- Bjarne
Stroustrup
Contact Me | Kuroyume's DevelopmentZone
Hmmm, I see it's a much deeper issue than I imagined!
I have to agree, though, with those who say that if the use of a real-world mathematical model for rotations limits our ability to do quite reasonable things with virtual objects in virtual space, then the real-life model should be dumped in favour of a less constraining one.
After all, on a lighter note, I can bury Victoria up to her chin in the ground if I want to, and she's still smiling.
I have seen Second Life automatically adjust two axis values when rotating an object or prim around the other axis, whether using world, local or reference axes, so I think they found a practical solution to the problem.
Izi
"If I were a shadow, I know I wouldn't like to be half of
what I should be."
Mr Otsuka, the old black tomcat in Kafka on the Shore (Haruki
Murakami)
This is not gimbal lock, I am not rotating around more than 1 axis. And this happens to some objects and not others. Everyone please launch Poser and try this and see what you get, because this scene is about as simple as you can get.
Create a blank scene, add Poser's built-in High-res Ball to the scene. Add a simple 2D texture map to the ball, with a surface that will make it evident which way the ball is rotating, i.e. don't make it a simple color surface. In my case I used a earth continent/ocean map.
After you add the surface select the ball and spin the yRotate dial. What happens? In my case it does the same thing as spinning the zRotate dial, I can't get it to rotate around the y-axis like a globe should.
Let me know what you get.
Quote - PS - I understand the gimbal lock explanation, but I don't see how a mechanical problem like that relates to virtual axes as used in Poser.
What happens in Poser is due to the mathmatical consequences of the way rotation is done, there is no way to avoid the problem other than using a different representation for rotation internally (see -> Quaternions and Euler angles).
You can work around the problem by parenting the troublesome item to another and adjusting the Y rotation of the new parent item.
Tried that, and you are right, rotating around the y-axis actually rotates it around the z-axis.
HOWEVER
when I loaded the sphere, the x-axis rotation was already set to 90 degrees. When I set that to zero, all three rotations worked properly. Then it's just a matter of getting the image mapped correctly!
Hope this helps.
Izi
"If I were a shadow, I know I wouldn't like to be half of
what I should be."
Mr Otsuka, the old black tomcat in Kafka on the Shore (Haruki
Murakami)
thanks a lot for your replies, that clears it up for me. one more question, now that I set the initial x-axis to 0 so the yRotate works now, how do I map my image properly? Now the image is wrapped completely the wrong way. Can I fix this in Poser or do I have to do something kludgy back in Photoshop?
I could not get those settings to alter the way the image displayed on the sphere.
But I found an easier way to do it.
Apply the material as normal. Set the Y and Z rotations on the sphere to +90 degrees, and then use the X axis to rotate it about its vertical axis.
Will that do it for you?
"If I were a shadow, I know I wouldn't like to be half of
what I should be."
Mr Otsuka, the old black tomcat in Kafka on the Shore (Haruki
Murakami)
Another option: load the hres ball prop, leave it at its original -90 rotation.
Fire up the grouping tool.
Select the only group that is available from the dropdown of the grouping tool - all polygons will turn read.
Choose "Create Prop" and give the new prop a useful name.
You can delete thoe original hires ball.
The new prop will have coordinates (0,0,0) and rotations (0,0,0).
You can also scale the hires ball before creating the new prop, the new prop will always have scale 100%.
I used this trick to make a quickie skydome by scaling the hires ball to 40,000%, using the grouping tool to reverse the normals, and spawn a Skydome prop.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
So this raises the interesting question: What idiot decided that to fix the hi-res sphere, it should be rotated -90d on the middle axis? Built-in, instant gimbal lock - genius...
C makes it easy to shoot yourself in the
foot. C++ makes it harder, but when you do, you blow your whole leg
off.
-- Bjarne
Stroustrup
Contact Me | Kuroyume's DevelopmentZone
This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.
Anyone ever get the problem with an object not rotating on all axes? I'm running Poser 7 SR2 on Mac OS 10.5.2 but this quirkiness has been around for Poser since I've been using it.
Sometimes when I import an object you can't rotate it on certain a certain axis using the dials (yRotate, xRotate, zRotate) unless you directly manipulate it with one of the tools, which is clumsy and inexact.
and just now I insert a high-res ball from Poser's own props, apply a globe map to it and go to spin the yRotate to make the earth rotate like it should. But no, the yRotate does the very same motion that the zRotate dial does.
Can anyone replicate this and suggest a fix? Again, this buggy behavior has been around since I started using Poser in 1999 but only now when I have a deadline to meet do I think of posting about it.
thanks