Les partenaires publicitaires:

Comment appliquer une rotation d'un triangle sur une grille

Rotations bidimensionnelles reviennent souvent dans la production de l'image numérique et la programmation de jeux. Comme les objets se déplacent dans un monde virtuel, ils peuvent à la fois traduire et faire pivoter. En deux dimensions, une rotation est défini par un axe, le point autour duquel la rotation a lieu, et l'angle de rotation. Pour faire tourner un triangle, vous tournez les trois sommets qui définissent le triangle.

Triangle de la grille

  • Points sur une grille à deux dimensions sont écrits (x, y). Un triangle a trois de ces points, un sommet définissant chacune. Par exemple, nous pourrions étiqueter ces p1 = (X1, Y1), p2 = (X2, Y2) et p3 = (x3, y3).

Rotations autour de l'origine




  • Si vous faites pivoter un point p d'un angle # 952-, vous obtenez un nouveau point p '= (x', y ') où x' = x # 8729-cos (# 952-) - Y # 8729-sin (# 952-) et y '= y # 8729-cos (# 952-) + x # 8729-sin (# 952-). Pour faire tourner un triangle, vous appliquez ce processus P1, P2 et P3.

Rotations autour d'un axe arbitraire



  • Pour faire pivoter autour d'un axe arbitraire, vous traduisez l'axe à l'origine, en prenant le point p avec elle, d'effectuer la rotation comme ci-dessus, puis annuler la traduction. Soit P = (X, Y) de l'axe. Traduire la fois l'axe et le point à l'origine par soustraction P. Cela donne un nouvel axe, P = P - P = (0, 0), et un nouveau point p = (X, y) = P-P = (x - X, Y - Y). Effectuer la rotation comme d'habitude à la p. Enfin, défaire la traduction initiale en ajoutant P pour obtenir x '= X + (x - X) # 8729-cos (# 952-) - (Y - Y) # 8729-sin (# 952-) et y' = Y + (y - Y) # 8729-cos (# 952-) + (x - X) # 8729-sin (# 952-). Répétez ce processus pour chaque point.

Exemple

  • Soit un triangle défini par les points p1 = (1,1), p2 = (2,3) et p3 = (4,2). Tournez le triangle autour du point P = (3, -1) par 23 degrés. En utilisant la formule, p1 - P = (-2,2) et p1'_x = 3 + (-2) # 8729-cos (23) - 2 # 8729-sin (23) = 0,3775, et p1'_y = - 1 + 2 # 8729-cos (23) + (-2) # 8729-sin (23) = 0,0595. Transformer les autres points de la même manière, nous avons les nouveaux points: p1 '= (0,3775, 0,0595), p2' = (0,5166, 2,2913) et p3 '= (2,7483, 2,1522).

» » » » Comment appliquer une rotation d'un triangle sur une grille