¿Cuáles son algunos proyectos simples de C ++ que puedo emprender que me ayudarán a comprender los vectores?

Siempre le digo a la gente lo mismo cuando se les pregunta qué tipo de proyecto de programación deberían hacer:

Escribe un raytracer!

La respuesta de Dale Thomas a ¿Cuáles son algunas ideas de proyectos pequeños para aprender C ++?

La respuesta de Dale Thomas a ¿Cuál sería un buen proyecto de autogestión (un lapso de unos 3 años) para un estudiante de informática?

La respuesta de Dale Thomas a ¿Qué debo hacer o dónde debo comenzar a convertirme en un buen ingeniero / programador de gráficos por computadora?

La respuesta de Dale Thomas a ¿Cuáles son algunos de los programas que todo programador debe hacer al menos una vez?

La respuesta de Dale Thomas a ¿Cuánto tiempo le toma a un programador de gráficos de computadora promedio escribir un programa simple de trazado de rayos?

Bostezo, sueno como un disco rayado. Pero es la mejor manera de mejorar su programación y matemáticas de una manera realmente divertida, productiva, visual y con una curva de aprendizaje superficial.

Ese último enlace tiene un código ofuscado horrible para un rastreador de rayos. He aprendido mucho al separar el código ofuscado de otras personas y ver cómo funciona. Puede ser un punto de partida interesante para ti. Tiene cosas básicas como la suma de vectores, la normalización, la reflexión, etc. (pero no de una manera agradable).

¡Mucha suerte con tu proyecto!

Cuando tenía 15 años escribí un programa con turbo c ++ que mostraba un cubo de estructura metálica que podía rotarse y moverse en cada eje. Utilizó la matriz de rotación para mostrar un objeto 3D en una pantalla 2D. Creo que sería una buena práctica comprender los vectores 3D.

Había una matriz de 8 puntos en los que su posición debía transformarse de acuerdo con 3 ángulos (x, y, z) con fórmulas que podían recuperarse de la matriz de rotaciones multiplicadoras y luego dibujar 12 líneas entre los puntos apropiados.

¿No es mucho más fácil comprender los vectores que implementarlos en proyectos de C ++? Un vector es solo una línea en el espacio 3d o 2d. Por lo tanto, tiene un componente x, y y z, y su longitud = sqrt (x ^ 2 + y ^ 2 + z ^ 2).

Cualquier cosa que involucre gráficos en 3D exige que comprenda los vectores en 3D y las matrices.

Incluso un simple programa de dibujo de cubos con marco de alambre requiere dominio.

More Interesting

¿Es posible tener una máquina de Turing que sea capaz de construir otra máquina de Turing (diferente) a partir de bits puramente aleatorios?

¿Cómo se puede dividir un polígono arbitrario en el menor número posible de triángulos rectángulos y rectángulos?

¿Por qué todos los ceros (0000 0000) en el campo de exponente representan el exponente -126 y no -127 en coma flotante IEEE de precisión simple?

Cómo interpretar 'lift' y 'odds ratio' en las reglas de asociación

¿Cómo diseñas un algoritmo?

¿A qué programas de Maestría en Ciencias de la Computación debo aplicar?

¿Por qué se recomienda en línea una función antes de su llamada a la función?

¿La informática es matemática aplicada?

¿Cuál es el tipo de datos de optimización de memoria más apropiado en Matlab para importar un archivo de audio que tiene un valor máximo de 0.495971679687500 y el valor mínimo es -0.488983154296875?

¿Cuál es el uso de las matemáticas en el mundo real en informática?

¿Hay algún problema que requiera más tiempo exponencial de resolución (por ejemplo, doble exp.) Pero que pueda verificarse en tiempo polinómico determinista?

Cómo detectar si el siguiente cuerpo de cierta longitud y altura que gira en un punto de anclaje toca una posición particular

No pude escribir el programa Fibonacci. ¿Cómo puedo desarrollar mis habilidades matemáticas?

¿Cómo nos ayuda la informática a comprender mejor el universo?

Cómo explicar la organización de un microprocesador / microordenador