|
![](/i/fill.gif) |
Jim Charter <jrc### [at] msn com> wrote:
> On a whim I spent just a little time poking around with Google to
> investigate how difficult it would be to set up a virtual space with a
> viewpoint that can be zoomed, dollyed, and panned. This could be in a
> browser or in a separate viewer. At first blush it seems that panning
> the camera or rotating an object is easy, also zoom, but dollying the
> camera not so? Is this true? Does this function present a particlar
> hurtle that panning and zooming doesn't? Google maps does it. Does the
> difficulty increase linearly or exponentially?
As a disclaimer, I could be totally out in left field here. Are you looking for
an 3D API? I'm not sure if it's headed in the right direction, but I use GLUT
for this type of thing. It's avery simple and completely cross-platform
wrapper for OpenGL so you don't have to worry about all the platform-dependent
details. The OpenGL tutorials at http://nehe.gamedev.net/ are more than enough
to get started. If you want something web-browser-oriented then I can't help
you, but the intended use here is for simple games and interactive simulations.
I've been looking at FLTK (http://www.fltk.org/) to add more of an interface
along with the OpenGL stuff, but that's not really off the ground yet.
Here's a couple examples:
http://rsreusser.googlepages.com/glutApp2.tar.gz
http://rsreusser.googlepages.com/nurbs3d.tar.gz
http://rsreusser.googlepages.com/fluid.tar.gz
The first just draws a rectangle where you can pan and zoom in two dimensions.
The second is the 3D equivalent, with a NURBS curve editor. With some simple
projection math, you can select points, zoom, pan, and rotate. And the last
one, just for fun, is a simple fluid simulation. Click and drag!
I'm not sure if this is what you have in mind, but it met my needs very well for
a similar task. You just define a location for the camera, as in POV-Ray, and
use mouse and keyboard functions to set up the interaction. It's not something
you'd program Google Earth in, but it's a good start for the rest of us.
Hope this could be of any use.
- Ricky
Post a reply to this message
|
![](/i/fill.gif) |