Archive for November, 2009

Trapezoidal Texture Projection with OpenGL



All surface images in Insight3D are placed on the Earth where the edges of the image align with latitudinal and longitudinal lines and the top edge is north.  Several customers have asked if they could map an image where that is not the case, where they have the latitude and longitude coordinates of each corner.

Fig. 1 shows an image captured from the viewpoint of a simulated UAV camera.  While the image itself is exactly as it was, the image is not correctly positioned on the terrain.  As mentioned, the image edges align with latitudinal and longitudinal lines. 

trapezoidNotRotated
Fig. 1

In fig. 2, the image’s corners have been mapped from their original coordinates to their actual coordinates. One can tell that the camera took this image from the southwest.

trapezoidRotated
Fig. 2

This capability has been added to Insight3D’s  Surface Mesh Primitive for our upcoming r8 release.  I’ll wait until r8 is out to discuss the new interfaces and how this method differs from projecting an image onto the terrain.

In this post, I’ll discuss how we use OpenGL to remap the image of fig. 1 to that of fig. 2.

More...

How to Orient a Model



In this entry, I'll explain how to orient a model primitive using its ReferenceFrame and Orientation properties.  We'll go through two examples.  The first one orients a launch pad model on the ground:

LaunchPadOrientation

The second example orients a satellite model in orbit:

SatelliteOrientations

More...

New in AGI Components 2009 r7: Primitives in any Reference Frame



I'm excited to announce that we just released 2009 r7, which includes the ability to define primitives in any reference frame.  Previously, primitives could only be defined in a central body's fixed or inertial frame.   Now, instead of converting from the reference frame of your data to the primitive's reference frame, you can just set the primitive's ReferenceFrame property to the same reference frame of your data.  Doing this is almost always more efficient and easier to code!  What's even better is if the reference frame varies with time, the primitive will move during animation automatically.

Facility

More...