Translation et rotation d'un point de l'écran en quelques lignes

Contenu du snippet

Simple sous-programme de quelques lignes pour translater et effectuer la rotation d'un point quelconque de l'écran .Pour les débutants qui haissent les maths!

Source / Exemple :


'Ce programme permet d'effectuer la translation ou la rotation d'un point par rapport à une position quelconque du plan (écran)
'Si l 'on veut faire seulement une translation du point (X,Y) à partir de 'l'origine (0,0),mettre la variable de rotation A (Angle) à 0 et mettre 'les variables H(Horizontal) et V(Vertical) aux valeurs voulues de 'translation par rapport à l'origine.
' Si l'on veut faire une rotation autour d'un point translaté, procéder 'comme ci dessus mais donnez à A la valeur d'angle de rotation voulu.
'Pour choisir le sens de rotation positionner la variable S comme suit:
'S=1 rotation dans le sens horaire
'S= 0 rotation dans la sens anti horaire
'Remarques: (A) doit être en radians
'           L'origine (0,0) est le coin supérieur haut de l'écran

'Le sous programme est appelé par:
'Call Trigo(X, Y, H, V, A, S)
'Le résultat est transmis par les variables X et Y

Public X, Y, H, V, A, S As Double

Sub Trigo(X, Y, H, V, A, S)
XT = X - H
YT = Y - V
If A <> 0 Then
    If S = 0 Then
        XR = XT * Cos(A) + YT * Sin(A)
        YR = -XT * Sin(A) + YT * Cos(A)
    Else
        XR = XT * Cos(A) - YT * Sin(A)
        YR = XT * Sin(A) + YT * Cos(A)
   End If
   X = XR + H
   Y = YR + V
End If
End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.