CPC Rulez
https://cpcrulez.fr/forum/

Techniques dans la Star Trip / Optimus
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=7108
Page 1 sur 1

Auteur :  elpapy [ 24 Déc 2024, 15:46 ]
Sujet du message :  Techniques dans la Star Trip / Optimus

Bonjour !

Après la sortie de la démo "Star Trip", Optimus a sorti une vidéo explicative concernant ses techniques pour la 3D.
https://www.youtube.com/watch?v=sJ7EDQu-a4g

Vu mon niveau d'anglais, je n'ai pas tout saisi. Mais je suis très curieux de ces techniques, employées dit-il aussi sur Atari, Amiga et C64 (par ailleurs, je n'ai hélas pas de temps pour coder sur CPC, un court retour de quelques mois m'ayant surtout fait comprendre que le travail est conséquent et nécessite beaucoup d'expérience pour acquérir les avancées).

Ma première question concerne la rotation 3D et la projection, avec uniquement des additions pour chaque point (quelques multiplications initiales et par objet seulement, d'une "matrice régulière"), et des coordonnées d'index (à ce que j'ai compris). Quelqu'un peut-il m'éclairer sur le principe mathématique de ce procédé, qui se base classiquement sur des calculs matriciels ?

Merci ! Et joyeuses fêtes de fin d'année !

Auteur :  elpapy [ 27 Déc 2024, 11:24 ]
Sujet du message :  Re: Techniques dans la Star Trip / Optimus

En y réfléchissant, la technique de rotation est simple, finalement. On fait la rotation initiale des sommets pertinents (il y a des symétries) d'un cube englobant l'objet. Si les coordonnées de l'objet sont des coordonnées inscrites dans ce cube, en tant que coordonnées de « pas » (-4, -3, -2, -1, 0, 1, 2, 3, 4, ... : la démo de Optimus utilise je crois une grille à 3 « pas »), on obtient les coordonnées de chaque point de l'objet en ajoutant simplement un deltaX, deltaY et deltaZ selon la valeur du pas.

Je ne sais pas précisément comment la projection est faite ensuite, peut-être classiquement, avec une division. J'ignore également comment la rotation du cube englobant est faite, mais elle est ouverte aux optimisations classiques du coup (du genre quaternions, coordonnées sphériques, ..., qui nécessitent moins de multiplication que le calcul matriciel classique).

Bon en tout cas la technique du Rubber Ducking fonctionne ^^

Page 1 sur 1 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/