Higher dimensional graphics


This is a difficult question. I have never used OpenGL before, and I need to be aware of its capabilities.

I am physics researcher and I am trying to get the computer to model complex situations in 4 (and more) dimensions. I have managed to do this in some geometry software but it doesn’t give me any useful functionality. The output of the display would have obviously have to be a 3D view, and there would have to be several from different angles to make it useful.

The mathematics/programming is not a problem. However, I don’t believe the above functionality is native to OpenGL (or anything else). If it is, how do I use it, and if it isn’t, how can I ever begin to think about implementing it (all I need it to do is put in another vector perpendicular to the other 3 vectors).

Any ideas?


please post your question in coding:beginners,

this place is for professionals only.

no prob

i’m joking




Sorry didn’t seem like a beginner’s type question. I also posted on Usenet.

as i tell everyone who wants gl for math or physics:
opengl draws points,lines and triangles.
opengl can texture those.
thats more or less all.
do the math on your own, and send opengl the geometry you want to draw. opengl takes homogene 3d coordinates for this and handles them correctly. thats all. you can use this to draw 1d,2d or 3d stuff. but at the end its just some math to project what ever dimensional stuff onto a 2dplane, and then send those coordinates to gl…

good luck with your stuff. if you have done yet the math then gl can help you to visualize it…


I’m building a neon fun site.

do you want to became my chief fun ?

chrismuktar - no, don’t worry, this isn’t by any means a beginner question. 'Fraid you’ve caught us at a bit of a bad time… lots of flamage on the board of late due to overcrowding/misposting, and neon68’s going a bit overboard on the “light relief”.

Anyhow… as davepermen says, OpenGL is a very low-level API and probably not the best fit for what you’re trying to do. I’d recommend you take a look at something like VTK (http://public.kitware.com/VTK/) which is higher-level and expressly designed for scientific visualization.


have you tried matlab? I’m not sure it has the capabilities you need, but it is suited for scientific calculations and visualization…

[This message has been edited by martin_marinov (edited 03-24-2002).]

Try a google search for “volume visualization”. Viewing higher-D spaces on lower-D devices inherently means you have to project it (you knew this). OpenGL and applications for it is mostly about projecting 3D mostly-solid models to 2D screens. It seems that if you’re starting with higher-D, going first to 3D and then to 2D will just make things harder than designing some projection from N-D to 2D directly, and render it using simple bitmaps.

If you want to get easy access to 2D bitmap data for rendering into yourself, and are working on Windows, try searching for CreateDIBSection() on msdn.microsoft.com . Or you can allocate regular malloc() memory and then upload the image using TexImage once you’ve calculated it, and draw it on a single quad on the screen, if you’re more familiar with GL.