Devlog: spécial apprentissage Math orienté jeux
Robbygame Il y a 11 mois Premium Pro - Adhésion à vie2

Devlog: spécial apprentissage Math orienté jeux

 

Afin de m’améliorer dans l programmation des jeux, je me suis fixé l objectif d’apprendre les Math orienté jeux.

 

J’ai donc étudié dans gamecodeur Pythagore, Thalès, je me suis documenté sur internet concernant le même thème et j’ai enfin compris Théorème de Thalès avec cela:

  1. Comment mesurer la hauteur de la pyramide de Chéops (la plus grande des 3, derrière le sphinx)?

Thalès à trouvé la solution (que l’on utilise encore dans les jeux) qui est d’utiliser les proportions…

 

On a le soleil, la pyramide, un bâton, une ombre…

explication: le bâton vertical placé dans l ombre de la pyramide est proportionnel à la hauteur de cette pyramide car dans le même plan (même ombre) et donc connaissant la distance entre le bâton et le centre de la pyramide et la mesure de l’ombre de la pyramide et du bâton, et sachant que tout est proportionnel, on peut trouver la hauteur de la pyramide en connaissant la hauteur du bâton multiplié par cette fameuse proportion…

 

Comments (2)

Salut Robbygame !

Très bonne initiative ! J’ai cru comprendre qu’il y en avait plein qui étaient satisfaits des cours de maths sur Gamecodeur. Pour ma part j’y ai pas encore touché ^^
Par contre je me souviens de la technique du bâton pour appliquer le théorème de Thalès. On nous avait appris ça à l’école et je me rappelle qu’à l’époque on avait trouvé ça vachement cool ahah.
C’était une application des maths un peu plus fun que son utilisation en classe ^^
Vivement que je retrouve cette sensation en l’appliquant aux jeux !

Hésite pas à mettre en pratique dans des petits prototypes et à les partager !

Bonne continuation 🙂

Dipsy974

Merci Dipsy974, pour le post, j’ai mis du temps à répondre car en parallèle des math orienté jeux, j’étudiais le Tetris (rotation de pièce en fake car on utilise direct l image retournée dans le tetris sans passer par des Math orienté jeux XD, sans utiliser cosinus et sinus de l angle)

Pour les codes et le jeux, ce sont typiquement les jeux de l’espace type Lunar Lander, navette spatiale qui tir dans tout les sens et toutes les directions…
J’avoue; le terris m’a pris énormément de temps mais ils est très formateur… y a des idée intéressantes…

A) exemple de planètes (soleil, lune) qui tournent autour d’un point central en utilisant les math avec le sinus et le cosinus.
voir la DLC #55 – Coder la météo + coaching Jam 31 du Lundi 22 mars 2021

B) exemples à voir:
https://www.gamecodeur.fr/liste-ateliers/atelier-lunar-lander-love2d/

partie de code (attention pas complet mais les annotation permettent de comprendre le passage de degré en radians etc..;)

local vaisseau = {}
vaisseau.x = 1
vaisseau.y = 1
vaisseau.angle = 270 — a) au début on utilise l angle en degré
— b) on utilise aussi l angle en degré pour l affichage
— de l image voir function love.draw() math.rad(Lander.angle)
— Lander.angle est en degré et la fonction math.rad
— convertit les degrés en radians
— c) mais les formules de cosinus et sinus
— demandent par la suite des radians
— il faudra donc convertir nos degrés en radians

— passer de l’angle en degré vers le radian
— math.rad (x)
— Returns the angle x (given in degrees) in radians.
local angle_radian = math.rad(vaisseau.angle)

— Attention pour utiliser math.cos il faut l angle en radian
— math.cos (x)
— Returns the cosine of x (assumed to be in radians).
local force_x = math.cos(angle_radian) * (vaisseau.speed * dt)

— Attention pour utiliser math.sin il faut l angle en radian
— math.sin (x)
— Returns the sine of x (assumed to be in radians).
local force_y = math.sin(angle_radian) * (vaisseau.speed * dt)

function love.draw()
— mars 2021 passer de l’angle en degré vers le radian
— math.rad (x)
— Returns the angle x (given in degrees) in radians.
love.graphics.draw(vaisseau.img, vaisseau.x, vaisseau.y,
math.rad(vaisseau.angle), 1, 1, vaisseau.img:getWidth()/2, vaisseau.img:getHeight()/2)

End

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.