easy 3D graphics for rendering geometry?

G

gsal

What would be the easiest way to go about offering 3D graphics for the
purpose of rendering geometry?

Suppose engineers (my co-workes) have to design some enclosure,
nozzle, bracket, or whatever physical part/component, I would like to
write a program where they can at least see the resulting geometry and
navigate it, i.e., zoon-in/out, rotate, pan. On the side, I could
have data entry fields with the input parameters and when something is
changed, the graphics can be updated "immediately" (after the
necessary calculations have been done).

I know I need to learn something, and I am willing, I just need help
choosing what to learn.

I don't have any experience on this matter, don't know OpenGL, Mesa,
VTK, VRS, Maya...and all seem to have a steep learning curve. I don't
know any of the "other" graphics packages more oriented for game/
scenery/movie development (Panda, etc.), either.

I do know my trig and build my FEA parts parametrically from points,
to line, to surfaces, to volumes or from volume boolean algebra.

I would like the choice to be some kind of module/API that works
equally well on Linux as in Windows.

So:
What would be the easiest way?
and would it be worth learning?
or
is it better to shoot for something not so easy but worth learning?

thanks in advance for any pointers.

gsal
 
M

Marco Nawijn

What would be the easiest way to go about offering 3D graphics for the
purpose of rendering geometry?

Suppose engineers (my co-workes) have to design some enclosure,
nozzle, bracket, or whatever physical part/component, I would like to
write a program where they can at least see the resulting geometry and
navigate it, i.e., zoon-in/out, rotate, pan. On the side, I could
have data entry fields with the input parameters and when something is
changed, the graphics can be updated "immediately" (after the
necessary calculations have been done).

I know I need to learn something, and I am willing, I just need help
choosing what to learn.

I don't have any experience on this matter, don't know OpenGL, Mesa,
VTK, VRS, Maya...and all seem to have a steep learning curve. I don't
know any of the "other" graphics packages more oriented for game/
scenery/movie development (Panda, etc.), either.

I do know my trig and build my FEA parts parametrically from points,
to line, to surfaces, to volumes or from volume boolean algebra.

I would like the choice to be some kind of module/API that works
equally well on Linux as in Windows.

So:
What would be the easiest way?
and would it be worth learning?
or
is it better to shoot for something not so easy but worth learning?

thanks in advance for any pointers.

gsal

Hello,

Take a look at www.opencascade.org. This is a powerfull C++ library
for building CAE
(Computer Aided Engineering) applications. It also has a rather steep
learning curve,
but the resulting geometry could be easily exported to FEA packages.

Another possibility is www.salome-platform.org which is build on top
of OpenCascade. It has
a nice Python interface which makes the learning curve probably a
little more acceptable. A
downside is that, I think there are no Windows binaries yet.

Regards,

Marco Nawijn
 
K

Kjell Magne Fauske

What would be the easiest way to go about offering 3D graphics for the
purpose of rendering geometry?

Suppose engineers (my co-workes) have to design some enclosure,
nozzle, bracket, or whatever physical part/component, I would like to
write a program where they can at least see the resulting geometry and
navigate it, i.e., zoon-in/out, rotate, pan. On the side, I could
have data entry fields with the input parameters and when something is
changed, the graphics can be updated "immediately" (after the
necessary calculations have been done).

I know I need to learn something, and I am willing, I just need help
choosing what to learn.

I don't have any experience on this matter, don't know OpenGL, Mesa,
VTK, VRS, Maya...and all seem to have a steep learning curve. I don't
know any of the "other" graphics packages more oriented for game/
scenery/movie development (Panda, etc.), either.

I do know my trig and build my FEA parts parametrically from points,
to line, to surfaces, to volumes or from volume boolean algebra.

I would like the choice to be some kind of module/API that works
equally well on Linux as in Windows.

So:
What would be the easiest way?
and would it be worth learning?
or
is it better to shoot for something not so easy but worth learning?

thanks in advance for any pointers.

gsal

I recommend taking a look at Blender 3D: http://www.blender.org/
It is primarily a modeling, animation and rendering tool. However, my
favorite feature is the Python API which allows you to access most of
the functionality using Python. You can create simple GUIs and create
3d-objects programatically.

- Kjell Magne Fauske
 
S

Scott David Daniels

gsal said:
What would be the easiest way to go about offering 3D graphics for the
purpose of rendering geometry?

Take a look at VPython. If you are pretty bright, give up a weekend
and do all you can in that one weekend. I think you will be amazed.
You will one day get to a point where it is not good enough for you,
but nowhere will you find so shallow a ramp to getting to competent,
relatively fully-featured, 3-D visualizations in simple, direct code.

-Scott David Daniels
(e-mail address removed)
 
G

gsal

Thanks for the suggestion.

I reviewed the documentation and seems pretty complete and fairly
compatible. It does have a pretty steep learning curve, though. For
somebody like me, totally new in the field, seems rather difficult to
start on my own....I guess they want you to buy the training...

gsal
 
G

gsal

I actually did look at VPython last weekend. I managed to draw a
soccer field, a few players, move them around and even record/play-
back plays....I was very impressed on how easy it was to learn not
only VPython, but Python in the first...I did not know any python,
either.

I am not quite sure how I would go about building ANY geometry that I
would want, though. O.k., so they offer faces, but I did not quite
see how to go about using it...

gsal
 
G

gsal

By the way, VPython crashes my computer rather easily:

- launch the editor
- open python file
- press F5 to run
- when the graphical windows appears, attempt to manipulate (drag or
resize)
- the computer looses it...

At the end, sometimes, the computer looks like is trying to take care
of things but simply takes forever; other times, I end up with a blank
screen and an unresponsive computer and have to press the power button
for about 10 seconds to get it to power off.

gsal
 
G

gsal

By the way, VPython crashes my computer rather easily:

- launch the editor
- open python file
- press F5 to run
- when the graphical windows first appears, it will be accompanied by
a cursor AND a sand watch to indicate that python is busy doing
somethin...if before the watch goes away, I attempt to manipulate
(drag or resize) the window...
- ...the computer looses it!

At the end, sometimes, the computer looks like is trying to take care
of things but simply takes forever; other times, I end up with a
blank
screen and an unresponsive computer and have to press the power
button
for about 10 seconds to get it to power off.

gsal
 
S

Scott David Daniels

gsal said:
By the way, VPython crashes my computer rather easily:

- launch the editor
- open python file
- press F5 to run
- when the graphical windows appears, attempt to manipulate (drag or
resize)
- the computer looses it...

Well, what kind of computer, what version of everything (OS, Python,
VPython), what display card, ....
 
S

Scott David Daniels

gsal said:
I actually did look at VPython last weekend. I managed to draw a
soccer field, a few players, move them around and even record/play-
back plays....I was very impressed on how easy it was to learn not
only VPython, but Python in the first...I did not know any python,
either.

By the way, to get you completely hooked (I took a while to notice),
try adding the following to your soccer program:

import visual

<your functions and classes here>

if __name__ == '__main__':
visual.scene.stereo = 'passive'
visual.scene.stereodepth = 1
<your starting code here>
 
G

gsal

Well, what kind of computer, what version of everything (OS, Python,
VPython), what display card, ....

Windows XP Professional
Version 2002, Service Pack 2
1.4GHz, 512MB

ATI MOBILITY RADEON 9000

Python 2.5, VPython 2.5

gsal
 
S

Scott David Daniels

gsal said:
Windows XP Professional
Version 2002, Service Pack 2
1.4GHz, 512MB

ATI MOBILITY RADEON 9000

Python 2.5, VPython 2.5

gsal

Well, I'm running Python-2.5.1 and VPython 3.2.11 successfully on
an NVIDIA GeForce 7100 GS on XP. I generally don't see the problems
you are seeing. I know they are still struggling a bit with the
Windows code (due in part to Arthur Siegel's untimely demise) and
OpenGL on 2.5. Do simple things always break, or do you kind of
know what you do that breaks it?
BTW, there is a newsgroup/mailing list that you should know about
that I read on gmane: gmane.comp.python.visualpython.user

Are you including calls to sleep and/or rate in your loops?

-Scott
 
S

Scott David Daniels

Scott said:
Well, I'm running Python-2.5.1 and VPython 3.2.11 successfully on
an NVIDIA GeForce 7100 GS on XP. I generally don't see the problems
you are seeing. I know they are still struggling a bit with the
Windows code (due in part to Arthur Siegel's untimely demise) and
OpenGL on 2.5. Do simple things always break, or do you kind of
know what you do that breaks it?
BTW, there is a newsgroup/mailing list that you should know about
that I read on gmane: gmane.comp.python.visualpython.user

Are you including calls to sleep and/or rate in your loops?

-Scott
Also, you can try VPython's newest beta for the _new_ style:
2007-11-10 4.beta20
Available on
http://sourceforge.net/projects/visualpython/
That has more, rather than less, performance issues for me,
but you might find it works more nicely with your video setup.

-Scott
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top