Monday, December 26, 2005

Geometry in computers

I think that the computer is a great tool to ease understanding/solving of geometry problems. Going one step further, I suppose a lot of problems solved by current computer solutions could be improved by a more realistic 3d interface. Just think of the difference between maps.google.com and Google Earth. Similarly, Microsoft improved their map service with bird's eye view pictures, and it really makes a huge difference.

Today, computer systems using 3d are mainly CAD systems for engineering, 3d animations and content creation tools. "Normal" users can not do anything geometry related, usually one needs to learn quite a lot before one can use such an animation tools like those from Alias, Softimage, not to speak about the CAD systems.
Initiatives like Cosmic Blobs are really interesting. This software from SolidWorks is a 3d graphics and animation tools designed for kids. All operations are simple, intuitive enough that a simple child should be able to use them. If such tools will be available in the mainstream animation and modeling software packages, much more content creators will find their way to create interesting content -- not only those who learned all the cumbersome technical terms and tools in today's modeling tools.

But let's go back to my original observation. Geometry is mainly present in today's computer only in animation and engineering domains. Aren't there somewhere some other domains? Since we live in a world where everything around us is basically a 3d scene, there have to be other natural computer application domains for 3d geometry...

So, why don't we find/create them? To find the answer just think of the technology how we are programming geometry today. There are available libraries/geometry engines like CGAL, OpenMesh, SMLib, Parasolid and others... but if we compare this number to the multitude of tools available to create database applications, we will see a huge difference. And for example when one debugs an algorithm working on triangle meshes, one sees pointers and numbers which do not make any sense without geometric interpretations. Why isn't there some kind of visual debugger where the debugger interprets the state of data structures into the geometry and renders it? The way I see it, today's geometry programming is in a "baby-phase". We should be able to create better tools for ourselves and then we have a much better basis to take geometry in computers to a different level.

As a small conclusion to this brainstorming I would say that there is a lot of potential to be explored. I would love to see 3d computer graphics used for a lot more than engineering, games and animation movies. It's clear that a lot of serious mathematics and work is needed, but it would be worth investing into it.

Thursday, December 08, 2005

Your own... candle??

If you are around Zürich in December it might be a good idea to go to the Kerzenziehen am Bürkliplatz. With a bit of patience you can make your own candle... or something like that. This is what I came home with. Maybe it's exaggerateded to call it a candle... but it's something funny and it smells like honey... Actually, my creature was upside down during "production time", this is why he has his "tale" so nicely straight up in the air. Some other guys really take this thing very seriously, and make reaallly huge candles which weigh several kilograms at the end. They invest many-many hours over several days, weeks probably... so that in the end... I don't know what they do with those huge candles. Whatever... actually, I don't know either what I should do with my "something-like-a-candle"..
And since I am still at recommendations, let me give you a tip for your next movie: Broken Flowers. It reminded me in a way to Mulholland Drive, which I liked a lot, as well. So, enjoy your winter time!

Saturday, December 03, 2005

Brian Barsky: See what you see

Yesterday I attended an excellent talk of Brian Barsky. He's professor at UC Berkeley with affiliation to both computer graphics and optometry group. This mixture resulted some really interesting projects which contributed to both, developing medical tools to test and improve the human sight, and rendering scenes in computer graphics by modeling the eye instead of using a simple camera model.
A small part was extremely interesting for me: For detecting the aberrations, irregularities, defects of the cornea, they have developed a tool which resulted images of a human eye like this (CWhatUC paper):

The irregularities of the cornea surface can be seen by the deviations of the circular reflection lines. Basically, the very same tests is used in CAD or other geometric modeling tools to asses the quality of surfaces generated. Compare the picture above to this Solidworks example:
Actually, I am working right now on exactly such a surface quality estimation test in my internship at Autoform, who is producing simulation software mainly for automotive industry. I always love to see different research areas meeting at some points, it is great to know that things can be reused, combined almost to infinity, and the results can be really astonishing.
And I want to note again that the talk was just great. Brian Barsky seems really a funny and easy going guy... He could really put some highlights of his research work into a presentation which was really fun to listen to and interesting. What I especially like about such established professors like him, is that they are really working and researching in an area what actually their passion/hobby is. So listening to his talk on Friday really made my day.