Bonjour,

J'ai un double tableau de structure de points que je voudrais faire tourner autour d'un axe qui traverserait mon ecran. En gros cette ensemble de point lors de la rotation resteraient colle a l'ecran en tournant autour d'un point. Je n'arrive pas a ecrire cette rotation. Voici ce que j'ecris pour le moment.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
while (line < env->h_map)
{
	col = 0;
	while (col < env->l_map)
	{
		printf("OLD COORD %f %f %f\n", env->map[line][col].x, env->map[line][col].y, env->map[line][col].z);
		env->map[line][col].x = env->map[line][col].x * sin((deg * M_PI) / 180) - env->map[line][col].y * cos((deg * M_PI) / 180);
		env->map[line][col].y = env->map[line][col].x * cos((deg * M_PI) / 180) + env->map[line][col].y * sin((deg * M_PI) / 180);
		printf("NEW COORD %f %f %f\n", env->map[line][col].x, env->map[line][col].y, env->map[line][col].z);
		col++;
	}
	line++;
}
Et je me retrouve avec quelque chose de deformer sur deux axes j'ai l'impression.
Alors que si j'ai un cube, et bien je voudrais garder mon cube peut importe la rotation.
Quelqu'un saurait-il m'expliquer pourquoi? ma rotation m'enleve mes angles, et comment faire?
Et comment faire si je veux faire une rotation a patir d'un autre point sur mon ecran? il faut que je recalcule ses coordonnes par rapport a celui ci?

Nom : Screen Shot 2018-05-17 at 7.30.12 AM.png
Affichages : 178
Taille : 14,8 Ko
Du coups si je fais une rotation a 45deg, je devrais voir un triangle je crois, et surtout garder tout mes angles. (mon origine est tout en haut a gauche..)