Help on my art project with computational geometry

Hi,

My name is Ali Nakipoglu. Im an artist and developer.

Currently im researching about Computational Geometry and Constructive Solid Geometry. My aim is to develop a system which i can produce complex generative 3d/2d geometry like on this page:

http://www.flickr.com/photos/48135663@N08/

For this my system can have:

- An underlying framework like OpenCascade or CGAL to allow me to have rich set of functionality and robust foundation
- A simple framework to have dedicated procedures, maybe in chained ProducerModifier fashion
- On top of these a structure to render and maybe to manufacture resulted geometry.

I have some questions in my mind and whatever i research i came confused due to complexity of these subject. Can you please guide me to right direction?

My questions are:

Is OpenCascade is good library for this use?
Im also planning to use Boolean / Kinetic operations, can i use them in realtime/interactive speed?
Is this is possible to use OpenGL as renderer?
Im using Cinder and Openframeworks in my projects? Can they integrate well?
Can i use it on Mac?
Can i work on polygonal mesh?

Did you have any advise regarding to my goal? Any experience or comment of course would be welcome and appreciated.

Thank you so much for you help?

A.

jelle's picture

Nice work Ali!
Good to see another artist working with OCC...

>>>Is OpenCascade is good library for this use?

In short, yes.
A little more nuanced: its hard to do easy stuff OCC, its easier [ or possible ] to do hard stuff in OCC.
Seeing your work, you'll definitely like working with OCC.
If I can shamelessly promote PythonOCC? The dynamic nature suites design / art projects very well.
Also, PythonOCC wraps a lot of functionality in understandable commands, making learning OCC considerably easier.
Again, this is highly biased ;D

>>> Im also planning to use Boolean / Kinetic operations, can i use them in realtime/interactive speed?

In terms of kinetic, Thomas Paviot made a really cool module for working with OCC geometry in conjunction with ODE, the open dynamics module.
Booleans ops are very demanding operations in nurbs geometry, so be aware of that...

>>> Is this is possible to use OpenGL as renderer?

Yep, just use something to iterate through the vertices /faces of the mesh...

>>> Im using Cinder and Openframeworks in my projects? Can they integrate well?

Yep, just wrap the drawing commands... shouldn't be too hard...

>>>Can i use it on Mac?

Yup. You might want to have a look / use the OCE version, which is easier to compile, using CMake:
https://github.com/tpaviot/oce

>>>Can i work on polygonal mesh?

NURBS is what OCC is all about.

>>>Did you have any advise regarding to my goal? Any experience or comment of course would be welcome and appreciated.

Make sure whether you need NURBS || polygon's.
If poly's is all you need, go with CGAL.
There's a fundamental difference here that you need to have a better grasp of I think...

1) do you need double or single curved surfaces? if so, than you really should join us ;D

>>>Thank you so much for you help?

Good to have you here!

-jelle

alinakipoglu's picture

Thank you Jelle for your comprehensive answer. I will check OCE and will post my updates here very soon :)

A quick not on linked project, they are not belongs to me :) But as you did i love them too!

Thanks a lot!

jelle's picture

>>> Thank you Jelle for your comprehensive answer. I will check OCE and will post my updates here very soon :)

My pleasure, good luck delving into it!