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.

0 Comments:

Post a Comment

<< Home