Como te dice ObiJuan los programas profesionales usan curvas NURBS
para representar y definir superficies de coche, aviones,alas,
alerones, palas de molino de viento, cascos de barco...
FreeCAD cuenta con librerias que internamente pueden trabajar con
NURBS, pero le falta muchísimo para poder crear un workflow similar a
una herramienta profesional. No se trata sólamente de usar NURBS(eso
que se ve en el vídeo son parches NURBS), sino de enlazar unos parches
con otros para poder crear formas intricadas y las herramientas para
crearlas.
Las herramientas para crearlas suelen ser evoluciones entre unas
curvas y otras. Por ejemplo en programas como SolidWorks o Rhinoceros
puedo crear el casco de un barco con líneas de flotación y curvas de
cuadernas del casco:
https://ingenieromarino.files.wordpress.com/2012/03/estructura-interna.png?w=640
De hecho puedo usar sólo las cuadernas. El programa crea
automáticamente la superficie NURBS que pasa por las cuadernas, con
una serie de condiciones, como que pase exactamente o que sea tangente
de alguna manera. Un ejemplo:
https://www.youtube.com/watch?v=qv6Sui8SR78
Otra herramienta para crear superficies es a partir de curvas que se
roten. Estas herramientas existen en Freecad pero internamente no
generan una superficie NURBS, sino que utilizan polígonos, lo que no
es profesional, ya que en la práctica no es suave sino que está
compuesto por triángulos planos.
El problema se produce cuando tenemos que unir diferentes superficies,
por ejemplo en un capó de un coche no basta con definir la superficie
con una evolución entre curvas sino que hay varias y se tienen que
unir de forma perfectamente suave ya que la gente(el que compra el
coche) lo detecta rápidamente. Las superficies curvas que reflejan la
luz amplifican las discontinuidades y hay que utilizar herramientas a
su vez para juntar unas con otras con condiciones de cambio de
curvatura determinadas(tangentes).
Para analizar estas discontinuidades en la curvatura los programas
hacen un "análisis cebra", que replica los análisis que se hacen con
objetos en el mundo real con luces especiales:
http://austcadblog.com/wp-content/uploads/2014/09/autodesk-inventor-vs-dassault-systemes-solidworks-inventor-model2.png?w=64&h=43&crop=1
http://www.cadalyst.com/files/cadalyst/nodes/2006/789/i5.jpg
Para eliminar este problema de empalmar diferentes superficies se
desarrollaron unos parches especiales NURBS que se llaman T-Splines
que usan polígonos para definir la topología de un objeto y luego
interpolan directamente una superficie NURBS sobre él. No es tan
perfecto y no se tiene tanto control como al empalmar diferentes
superficies, pero requiere muchísima menos mano de obra, ya que puedo
crear una superficie entera de golpe(sin tener que unir partes):
https://www.youtube.com/watch?v=HivGSmGPWXE
El problema es que TSplines está patentado, porque en USA se pueden
patentar fórmulas matemáticas, y además la empresa que lo hacía se
vendió a un gigante del CAD, dándole un monopolio.
También hay otro software comercial que permite crear parches NURBS
directamente aunque llevan mucha mano de obra, u otras soluciones como
interpolación de voxels, más adecuado para esculpir arte que para
ingeniería.
Existen otras formas de representar superficies con el ordenador, la
más importante es mediante modelado de subdivisiones, que básicamente
consiste en suavizar una forma poligonal progresivamente con un método
que "converge" en una superficie curva. No es tan ingenieril como el
NURBS porque no tenemos el control exacto que tenemos con las NURBS,
por ejemplo en el ejemplo de las cuaternas yo puedo fijar con
precisión las dimensiones por las que tiene que pasar, pero en
Subdivisión no. Por eso la subdivisión se usa mucho en animación, en
todas las películas de Pixar por ejemplo.
En el software libre tenemos acceso a subdivisión mediante el Software
"Blender", pero nada que se pueda igualar o asemejar a las capacidades
de software comercial en cuanto a curvas NURBS. Todavía queda mucho
trabajo por hacer.