228 meneos
5729 clics

Empleando trigonometría para programar videojuegos (I) [ENG]

¿Estás pensando en dejar de programar videojuegos sólo por que las matemáticas no tienen ningún sentido para ti? No te preocupes, las matemáticas pueden ser divertidas. Un pequeño secreto como programador de app, no necesitas saber mucho, con saber sumar, restar y multiplicar ya tienes medio trabajo hecho pero puede que no te hayas dado cuenta hasta ahora: los videojuegos están llenos de triángulos...
etiquetas: trigonometría, matemáticas, videojuegos, programación, cocos2d
119 109 2 K 455 cultura
Comentarios destacados:       
#8   Echan pestes de las matemáticas cuando estudian la carrera y después hacen cursillos monguer para aprender lo que no quisieron aprender...
#1   Recomiendo este curso de Khan Academy sobre trigonometría: www.khanacademy.org/math/trigonometry
Creo que con leer la primera mitad de la primera parte de este tutorial es suficiente para saber toda la trigonometría que necesitas para programar videojuegos (el resto son ejemplos).
Pero el curso de Khan Academy es especialmente completo y aporta un número de ejemplos lo suficientemente grande como para que todos los conceptos queden perfectamente claros, especialmente los tres primeros capítulos del curso.

Yo he echado dos días para los 5 capítulos y es muy entretenido.
votos: 13    karma: 125
#2   #1 En estos tiempos me parece más útil un cursillo de vectores 3D y sus matemáticas que eso de la ¿ESO?

A mi fue lo que más me liaba en su dia aprender/comprender, bueno depende el problema aun me lía ahora. :ffu:
votos: 3    karma: 18
 *   GoDie
#4   #2 Dejé de estudiar matemáticas hace años pero ahora para programar he empezado con la trigonometría y me he dejado los vectores para después.
(Sé que debería ser al revés: primero saber de vectores, luego si eso me pongo con la trigonometría.... pero es lo que tiene ponerse a ver cosas random en internet....)
votos: 2    karma: 29
#7   #4 no se si antes, es más básico y para empezar seguramente es mejor empezar por lo básico, pero personalmente no recuerdo la ultima vez que necesite trigonométrica, en cambio vectores siempre...
aparte lo básico que vi por encima de lo que cuenta por ahí si necesitas es solo consulta, formular y listo, vectores 3d.

Yo soy tu y lo vería muy por encima y me metería en el fregado de vectores
votos: 0    karma: 11
#18   #1 #4 Hace unos años hice este, "Coding The Matrix: Linear Algebra Through Computer Science Applications" en Coursera.
codingthematrix.com/

El curso que yo hice no es el mismo que dan en la universidad, es parecido y supongo que más básico, pero es un curso excelente y, la verdad, más potente que otros cursos que he hecho en Coursera.

No he seguido mucho con ello, pero me ayudó a retomar conocimientos ya olvidados. Es un curso estupendo, que veo que han agrandado desde entonces! A lo mejor lo hago de nuevo... pero el tiempo...

Para programar, trigonometría + algebra lineal...
votos: 3    karma: 30
 *   scalvo
#46   #2 conociendo tu historial y lo Troll que sueles ser por meneame, normal hijo, normal, no me extraña que hayas salido así, que no llega. .
votos: 0    karma: 9
 *   cracks cracks
#50   #46 no como tu, que desbordas genialidad, el más listo de la clase, lastima que sea una clase de retards
votos: 0    karma: 10
 *   GoDie
#3   @fantomax esto podría interesarte
votos: 1    karma: 21
#5   Si dominas el arte de representar senos, videojuego con éxito asegurado.
votos: 25    karma: 188
#19   #5 Hace muchos años tuve que aplicar el teorema de los senos en uno de los proyectos que desarrollé. Muchos pensaban que era lo de "Ante la duda, la más tetuda" pero no... :troll:

es.wikipedia.org/wiki/Teorema_de_los_senos
votos: 1    karma: 9
votos: 0    karma: 7
#29   #5 Sobre todo acompañados de sus cosenos, porque si no resulta algo soso.
votos: 0    karma: 7
votos: 3    karma: 32
#6   Muy fantabuloso todo hasta que te estampas contra los cuaterniones.
votos: 3    karma: 41
#13   #6 puede ser que necesites un ritmo más pausado para empezar.
Prueba con apuntes de mecatrónica sobre ese tema de ciclos formativos.
votos: 1    karma: 24
 *   raharu_haruha raharu_haruha
#14   #13 A estas alturas que alguien me diga que entiende los cuaterniones es como que me diga que entiende la física cuántica.

El ser humano no está preparado para pensar en números imaginarios ni en cuatro dimensiones espaciales.
votos: 0    karma: 11
#33   #14 Eso te crees tu.
votos: 1    karma: 12
#21   #6 haha fue ver la palabra cuaterniones y acto seguido dolor en el pecho.
votos: 1    karma: 17
#8   Echan pestes de las matemáticas cuando estudian la carrera y después hacen cursillos monguer para aprender lo que no quisieron aprender...
votos: 13    karma: 91
#10   #8 muchas veces me he arrepentido yo mismo de no haber aprovechado mejor los estudios. Al menos pude rectificar a tiempo :-)
votos: 3    karma: 28
#11   #10 Olé por ti. No confío en mi movil
votos: 0    karma: 6
 *   enea enea
#17   #10 y cómo sabes?
votos: 0    karma: 8
#26   #17 Y como se en el sentido de cómo poseo conocimiento, o como se que rectifique a tiempo, o quizás como se que me he arrepentido?
votos: 0    karma: 6
#27   #26 todo, por qué no puede ser un pajazo mental.
votos: 0    karma: 8
#28   #27 Se que poseo conocimiento porque me va muy bien en el plano profesional, tengo un buen puesto, me he ganado el respeto de compańeros y recientemente hasta hemos recibido un premio y felicitaciones, Se que rectifique a tiempo porque puedo decir la frase anterior, y se que me he arrepentí porque ahora me encanta estudiar, me compro libros tecnicos para aprender, asisto a charlas y conferencias y me hubiera gustado haberlo hecho antes. :-)
Incluso fuera del ámbito laboral me he aficionado a astronomía por ejemplo, y me hubiera gustado haber prestado mas atención en asignaturas como física y matemáticas.
votos: 1    karma: 10
#16   #8 totlmente de acuerdo, me pregunto como aprobaron integrales de línea.
votos: 1    karma: 19
#9   ya decía yo que @Trigonometrico había reducido sus intervenciones...
votos: 1    karma: 22
 *   sísifo_6 sísifo_6
#12   La trigonometría no me ha hecho falta para llegar adonde he llegado en la vida
votos: 0    karma: 8
#25   #12 Sí te ha hecho falta, te ha hecho falta que otros la sepan por tí ;)
votos: 4    karma: 33
#30   #12 :professor:  media
votos: 0    karma: 16
#15   Ah, que para esto es lo que servía...
votos: 2    karma: 12
#34   #15 Y para mucho mas.

Perdona el negativo, luego te compenso.
votos: 0    karma: 6
#20   Eso no sirve para nada, hoy día te llega cualquier chaval "superdotado experto" que no tiene ni la ESO, paga cuatro plugins de Unity, copia/pega de cualquier manual y te monta un juegazo.

Ahora bien, el problema surge cuando le pides hacer algo que está fuera de esos cuatro plugins.

(Comentario irónico, digo Unity digo cualquier cosa)
votos: 2    karma: 18
#22   A mi lo que me gustaría es emplear la trigonometría para aprender inglés. Y ya si eso, me leo esta noticia.
Es una pena no saber inglés, la de noticias interesantes que uno se pierde.
votos: 0    karma: 7
 *   Yuiop Yuiop
#24   Hoy en día la realidad es que no es necesario aprender muchas matemáticas para hacer un videojuego. Ojo un juego no un Motor de Videojuego. A poco que uses algo como Unity ya está casi todo programado por el sistema o puedes encontrar un script en cualquier lado.

Programar hoy es más el arte de encajar piezas que de picar código.
votos: 0    karma: 11
#35   #24 Para nada. Recurras o no a engines de terceros, en el momento que quieras ir más allá de un prototipo o un clon de algo vas a tener que meter mano al código en serio sí o sí, y eso incluye lógica de juego.

Lo que te pueda proporcionar el motor, una librería de físicas o un script copiado y pegado de cualquier parte con código para, por ejemplo, un controlador de plataformas, puede servir para las iteraciones preliminares o desarrollos de andar por casa, pero si quieres diferenciarte del resto estando el mercado saturadísimo como está, de programar no te libras. Y no hablo de motor, me refiero a cosas como sistemas de cámara decentes o saltos bien calibrados, que suelen ir a un nivel más alto de lo que es código de engine.
votos: 0    karma: 9
 *   MsAllSunday MsAllSunday
#31   Pfff. ¿ Quién necesita eso ? Yo he visto a gente programando probar +sen(x), -sen(x), +cos(x) y -cos(x) hasta que funcionaba. Dios bendiga el random programming xD xD xD
votos: 0    karma: 6
#36   #31 Hubiesen ahorrado tiempo si supiesen que sen x = -sen -x, y que cos x=cos -x
y es cosa de bachillerato,
votos: 0    karma: 6
#38   #36 Es de 4º de la ESO.
votos: 0    karma: 6
#42   #38 Para mi eso es 2º de BUP (soy de la 1ª promocion del BUP)
votos: 0    karma: 6
#37   Me parece una gozada la cantidad de recursos que hay ahora online para aprender matemáticas y que te explican su utilidad, hay vídeos en YouTube que ojalá los hubiese podido ver en su día. Cuando das matemáticas en ESO y Bachillerato muchas veces simplemente te enseñan a resolver ejercicios, pero no la utilidad de cada cosa. En mi caso necesité apoyo escolar para Matemáticas y aunque pensé en hacer Informática (empecé a aprender C++ con 12 años y algunos lenguajes más hasta los 16) dejé el tema…   » ver todo el comentario
votos: 0    karma: 9
 *   ZombiekE
#39   #37 Blablablablabla... Las matemáticas de la ESO dan risa y solo hace falta llevarlas al día y no pensar que es una asignatura como las demás que la puedes estudiar la tarde anterior un par de horitas. Estoy cansado de intentar que mis alumnos de los primeros cursos de la ESO aprendan lo básico pero como se lo toman a cachondeo cuando llegan a 4º todo se les hace cuesta arriba.
votos: 1    karma: -5
#41   #39 Las matemáticas las llevaba al día, de hecho iba a refuerzo un par de días a la semana o así durante todo el curso (estoy hablando de 3º o 4º de la ESO, ya no recuerdo en qué año empecé), no solo cuando iba a haber examen, sin embargo los profesores no te presentaban la materia como estos recursos, tampoco los de apoyo. Normalmente los profesores no te explicaban para qué servía algo, era algo abstracto que simplemente tenías que resolver. Es totalmente antipedagógico. No me refiero a 1º de…   » ver todo el comentario
votos: 0    karma: 9
#44   #41 Dudo que tenga algo de profesor.
votos: 2    karma: 13
#40   Esa web es muy buena si alguien quiere aprender a hacer un juego
votos: 0    karma: 9
#43   Me sorprende que existan programadores sin conocimientos básicos de trigonometría!
votos: 0    karma: 6
#47   #43 Soy programador y no recuerdo la última vez que usé algo de lo que habla en el artículo. Álgebra sí, todos los días, pero trigonometría? Diría que una vez en los últimos 5 años
votos: 0    karma: 6
#49   #43 Con álgebra me refería a Vectores, Matrices y tal.
votos: 0    karma: 6
#45   De hecho hoy mismo en un prototipo en el que estoy enfrascado para cambiar la orientación de una nave en un espacio 2D he tenido que usar la arcotangente de los vectores de velocidad para averiguar el ángulo y para que dispare la nave a cierta distancia de su cuerpo en la dirección del vector velocidad he tenido que utilizar senos y cosenos :-), entiendo que es algo básico pero para mí no lo era.
votos: 0    karma: 6
 *   Lorzax Lorzax
#51   en BennuGD puedes usar coordenadas cartesianas (X,Y) como polares (angle y advance) ... los motores actuales tienen un modulo matemático bueno .. eso si para saber usarla lo mejor es saber que quieres hacer y que hace realmente para optimizar
votos: 0    karma: 9
 *   fuynfactory

menéame