hprInterval() may has error?

For an example,in the sample “Carousel”,if write code

self.carouselSpin = self.carousel.hprInterval(10, Vec3(0, 45, 0),startHpr=Vec3(0,45,360))

then the carousel spin around the Z-axis of itself, if the code is

self.carouselSpin = self.carousel.hprInterval(10, Vec3(360, 45, 0),startHpr=Vec3(0,45,0))

the carousel spin around the Y-axis of the world(not of itself) ?

if I am wrong,just forgive me… :slight_smile: ,I obeserved these many times

In both cases, the carousel spins around the axis of its parent, which happens to be render: i.e., the world. Of course it does not spin around its own axis, because it takes its own axis with it as it spins.

The two cases seem identical to me except for the particular axis of rotation. I don’t see what it is you see that is different.

It might be easier to tell what is going on if you removed the 45 degrees of P, though. If you isolate the rotation to 0 on the other two axes, it makes the rotation much clearer.


I try to say it clearer, in the 1st case, the tree is vertical to the axis it spins around;in the second case, the tree isn’t vertical to the axis; , so I think two cases are different,

It isn’t, though. In both cases, the tree is pitched 45 degrees. In the first case, that pitch is always towards the camera, and therefore isn’t visually obvious. In the second case, since the carousel is spinning around the Z axis, the pitch is alternately towards the camera and away from the camera, and is therefore obvious.

So, it’s just a visual illusion. It’s pitched the same in both cases.