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.
Et je me retrouve avec quelque chose de deformer sur deux axes j'ai l'impression.
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++; }
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?
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..)
Partager