Animación por computadora en C ++ y si puede integrarse en layouts web

Tengo un doctorado en Matemáticas con algo de experiencia en progtwigción en C ++. Estoy muy interesado en la animation por computadora, y me gustaría intentar enseñarme a mí mismo en C ++.

Mis resources humildes en este momento son: Borland Builder 6 y una computadora portátil Toshiba con 1.49 GG de RAM y un coprocesador de matemáticas. Por favor, dame el consejo más generoso que puedas, detallando qué resources son esenciales, y si es posible, dame una idea del costo.

Finalmente, ¿es posible integrar la animation creada en C ++ en el layout web?

Gracias de antemano por su ayuda.

Tu pregunta es muy amplia / no específica, pero daré una puñalada.

Despellejar

¿Quieres animar models en 3D? El enfoque más común para esto se conoce como "animation esquelética", y esencialmente se networkinguce a una gran cantidad de multiplicación de matrices. Cada vértice en un model tiene uno o más "huesos" que están influenciados por, y los huesos están conectados entre sí para formar un "esqueleto". Cada hueso tiene una matriz de 4×4 que se utiliza para describir su orientación relativa a su hueso original. Por ejemplo, un hueso de codo podría ser el hijo de un hueso del hombro, y la matriz del codo expressía la orientación del codo en relación con el hombro.

Cada cuadro, comienzas con un único nodo raíz en el esqueleto (quizás el cofre) y le asignas la orientación "mundo" del object (otra matriz 4×4). Luego recorre su gráfico de huesos y multiplica la matriz de orientación local del hueso por la matriz mundial del hueso original para get la matriz mundial del hueso. Esto a menudo se llama la paleta de la matriz.

Finalmente, cada vértice en el model usa las matrices de uno o más huesos a los que se "despelleja" para encontrar su location final para el marco. Por ejemplo, un vértice en el medio de la pierna probablemente estaría influenciado solo por el hueso de la pierna, mientras que un vértice cerca del hombro podría estar influenciado por dos o más huesos. Hacer esto permitiría levantar el arm de un model, mientras que los vértices cercanos al hombro parecerían "comprimir" (en lugar de doblar en la parte superior del cuerpo).

Animación

La animation generalmente se logra con fotogtwigs key en los que se expresan las orientaciones relativas de cada hueso. Por ejemplo, una animation que muestra un model en ejecución podría tener una duración de 10 segundos y tener fotogtwigs key cada medio segundo aproximadamente. Para lograr una animation de bucle, el primer y el último fotogtwig key pueden ser idénticos. Durante la reproducción de la animation, el esqueleto se "mezclará" entre sus fotogtwigs key más cercanos. Esto debería tener lugar antes de calcular las orientaciones mundiales de cada hueso.

Herramientas

Hay herramientas gratuitas disponibles para comstackr C ++, a saber, la Gnu Compiler Collection (GCC), así como una versión gratuita de Microsoft Visual Studios. Te recomendaría que aproveches una versión muy reciente de uno de estos. He estado muy satisfecho con GCC.

Es posible que desee echar un vistazo a la tarjeta de video que está disponible en su máquina. Necesitará algo bastante reciente para lograr algunas de las técnicas de animation.

C ++ y la Web

En parte como medida de security, HTML generalmente no es capaz de ejecutar código nativo, como el código escrito en C ++. Hay muchas maneras diferentes de hacer animaciones 3D en el browser, quizás la más interesante sea WebGL (básicamente enlaces OpenGL en Javascript).

Tenga en count que hay otras forms de hacer animaciones, e incluso la animation esquelética se puede lograr de forma diferente a la descrita. Por ejemplo, puede usar cuaterniones para representar rotaciones en lugar de matrices.

Antes que nada, me resulta simplemente imposible aprender un lenguaje de progtwigción sin un proyecto claro en mente. Por lo tanto, primero debe intentar definir con mayor precisión qué es lo que le gusta en la animation por computadora. Este es un vasto dominio que contiene (pero no se limita a):

  • Animación de personajes;
  • Simulación de fluidos;
  • Simulación de multitud;
  • Simulación de cuerpos rígidos;
  • etc.

Aprenda más sobre animation por computadora

Dos libros que encontré globalmente interesantes:

  • Animación por computadora completa: todo en uno: Aprenda técnicas de captura de movimiento, características, puntos y mayas.
  • Animación por computadora: algorithms y técnicas

Aprende C ++ por ti mismo

Te sugiero que leas:

  • Pensando en C ++
  • El lenguaje de progtwigción C ++

Herramientas para progtwigción en C ++

Olvídese de Builder 6 … Entonces, depende de qué sistema operativo esté progtwigndo:

  • WINDOWS: Visual Studio express.
  • MAC OSX: XCode.
  • Linux: Eclipse + muchos otros …

Esos son GRATUITOS y fáciles de comenzar para un no progtwigdor.

Espero que esto ayude.