I need to rotate a 2d sprite about the y axis. E.g., I have a 2d top-view sprite of an aircraft. When the user turns the aircraft the wings should tilt into (or out of) the screen to show that it is turning.
Is there a way to put the image into java3d, rotate it, and then put it back into a buffered image?
Or maybe somehow knows how the pixels should change as they come to / away from the screen and I can just mess with the rasters to accomplish this. I know how to get the resulting x positions of each pixel after a rotation about the y-axis, but of course just having this knowledge makes the image look like it gets squished since the pixels overlap after the rotation.
I believe you can achieve the YZ rotation using shear transforms, something similar used to draw objects in isometric perspective in design apps such as Adobe Illustrator.
Maybe this document will help you, the PDF seems to be offline, but there’s a copy in Google’s cache.
3D Volume Rotation Using Shear Transformations