papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Rotation d’une figure autour de l’origine Ven 22 Aoû 2014 - 4:46 | |
| Rotation d’une figure autour de l’origine Tout est expliqué dans le - Code:
-
rem ============================================================================ ' Rotation d'une figure autour de l'origine ' par Papydall rem ============================================================================ dim x0,y0,a,newx,newy, zoom picture 10 : full_space 10 : 2d_target_is 10 x0 = width(10)/2 : y0 = height(10)/2 : ' Coordonée de l'origine zoom = 30 : ' facteur d'aggrandissement
Trace_Figure() : ' on trace une figure , une flèche vers le haut comme exemple
' On va tourner cette figure autour de l'origine for a = 0 to 360 step 10 : ' Faire un tour complet cls 2d_line 0,y0, 2*x0,y0 : ' tracé de l'axe horizontal 2d_line x0,0, x0,2*y0 : ' tracé de l'axe vertcal Rotation_Figure(a) : ' Tourner la figure pause 50 next a
end rem ============================================================================ ' Tracé d'une flèche comme exemple SUB Trace_Figure() dim_local i,p,x,y restore read p : read x : read y : 2d_poly_from x0 + zoom * x, y0 - zoom * y for i = 2 to p read x : read y : 2d_poly_to x0 + zoom * x,y0 - zoom * y next i END_SUB rem ============================================================================ ' Rotation de la flèche de l'exemple autour de l'origine des axes d'un angle en dégrs ' Pour faire tourner une figure, il suffit de faire tourner tous ses points SUB Rotation_Figure(angle) dim_local i,p,x,y restore read p : read x : read y : Rotation_Point(x,y,angle) 2d_poly_from x0 + zoom * newx, y0 - zoom * newy for i = 2 to p read x : read y : Rotation_Point(x,y,angle) 2d_poly_to x0 + zoom * newx,y0 - zoom * newy next i END_SUB rem ============================================================================ ' Rotation autour de l'origine d'un point (x,y) d'un angle tetha en degrés. ' Pour effectuer une rotation à un point il suffit de multiplier ses coordonnées ' par la matrice de rotation suivante : ' cos(tetha) -sin(tetha) ' sin(tetha) cos(tetha) SUB Rotation_Point(x,y,tetha) dim_local pi,rad,t pi = acos(-1) : rad = pi/180 : t = rad * tetha newx = x * cos(t) - y * sin(t) newy = x * sin(t) + y * cos(t) END_SUB rem ============================================================================ ' dessin d'une flèche data 8 : ' nombre de points de la figure data 3,0 : ' coordonnées 1er point data 4,0 : ' coordonnées 2ème point data 4,3 data 5,3 data 3.5,4.5 data 2,3 data 3,3 data 3,0 : ' coordonnées derner point qui est le même que le 1erpour boucler la boucle rem ============================================================================
| |
|
Invité Invité
| Sujet: Re: Rotation d’une figure autour de l’origine Ven 22 Aoû 2014 - 6:53 | |
| Formidable Papydall.
Je sauvegarde cette applique. Il me tarde d'avoir plusieurs heures devant moi pendant plusieurs jours pour l'exploiter. Et de plus c'est en degrés, ce qui rentre mieux dans ma compréhension.
Merci Papydall. |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Rotation d’une figure autour de l’origine Ven 22 Aoû 2014 - 10:46 | |
| En effet, très intéressant papydall. A partir de là j'essaie de faire tourner la figure sur elle-même, mais j'ai un peu de mal... Ça marche ! en mettant la flèche au centre, comme ceci: - Code:
-
' dessin d'une flèche data 8 : ' nombre de points de la figure data -.5,-2.5 : ' coordonnées 1er point data .5,-2.5 : ' coordonnées 2ème point data .5,.5 data 1.5,.5 data 0,2.5 data -1.5,.5 data -.5,.5 data -.5,-2.5 : ' coordonnées dernier point qui est le même que le 1er pour boucler la boucle Il y a là de quoi s'amuser, merci papydall ! | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Rotation d’une figure autour de l’origine Ven 22 Aoû 2014 - 12:26 | |
| Il m'a été donné de développer les bases mathématiques pour le graphisme en 2D et en 3D. Pour ceux qui n'en ont pas pris connaissance, veuillez consulter panoramic le Mag N° 11. Un bon article (assez complet) sur les Mathématiques pour du graphisme 2D et 3D par Papydall. Tout est là !. Sinon c'est aussi ici. C'est un vrai régal, mais attention à l'indigestion! Vous pouvez toujours utiliser les formules qui s'y trouvent sans entrer dans les détails assez pénibles de la théorie mathématique. | |
|
Contenu sponsorisé
| Sujet: Re: Rotation d’une figure autour de l’origine | |
| |
|