Page 1 sur 1

probleme de geometrie

Publié : dim. 31/juil./2005 17:57
par Backup
j'ai la coordonée d'un point de depart x,y

j'ai un angle mettons 45 degré
j'ai une longueur mettons 50

je voudrai connaitre la coordonée x,y d'arrivé le plus proche
en fait je voudrai la formule magique a appliquer pour chaque angle
qui me retourne le X et Y d'arrivé

(un peu comme le dessin d'une aiguille d'une horloge voyez-vous ! :D)

je suis trop nul en Geometrie !! :lol:

allez les tronches de Matheux au boulot ! sortez moi de cette boue !! :D
............... SVP

Publié : dim. 31/juil./2005 18:20
par comtois
rien que pour le tronche de matheux j'avais pas envie de répondre :)

la nouvelle coordonnée en x' = x+cos(Angle)*Longueur
la nouvelle coordonnée en y' = y+sin(Angle)*Longueur

Code : Tout sélectionner

InitSprite()
InitKeyboard()
OpenScreen(800,600,32,"")
CreateSprite(0,800,600)
x=400
y=300
Longueur=50
Repeat
    FlipBuffers()
    DisplaySprite(0,0,0)
    
    Angle + 1
    If Angle>360
        Angle = 0
        Couleur=Random($FFFFFF)
        Longueur + 6
        If Longueur> 280
            Longueur = 50
        EndIf    
    EndIf
    
    StartDrawing(SpriteOutput(0))
        x1=x+Cos(Angle * 0.0174533)*Longueur
        y1=y+Sin(Angle * 0.0174533)*Longueur
        Circle(x1,y1,3,Couleur)
    StopDrawing()
    ExamineKeyboard()
Until KeyboardPushed(#PB_Key_All)  

Publié : dim. 31/juil./2005 18:25
par Backup
rien que pour le tronche de matheux j'avais pas envie de répondre Smile
t'avais compris que c'etait humouristique au moins ?? 8O


Merci beaucoup pour la reponse je regarde ça tout de suite !!

Merci encore .... :D

Publié : dim. 31/juil./2005 18:25
par lionel_om

Code : Tout sélectionner

#PI = 3.14159


Procedure.f RotationX(x.f, angle.f, dist.f)
  
  ProcedureReturn x + Cos(angle*#PI/180)*dist
  
EndProcedure


Procedure.f RotationY(y.f, angle.f, dist.f)
  
  ProcedureReturn y + Sin(angle*#PI/180)*dist
  
EndProcedure


For i = 0 To 270 Step 90
  Debug "Rotation de "+Str(i)+"°"
  Debug RotationX(50, i, 50)
  Debug RotationY(50, i, 50)
Next i
Zut j'arrive un peu tard ... :cry:

Publié : dim. 31/juil./2005 18:26
par comtois
Dobro a écrit :
rien que pour le tronche de matheux j'avais pas envie de répondre Smile
t'avais compris que c'etait humouristique au moins ?? 8O
Bien sûr , je commence à te connaitre :P

Publié : dim. 31/juil./2005 18:27
par Backup
Merci a toi aussi lionel_om :D

Publié : dim. 31/juil./2005 18:28
par Backup
Bien sûr , je commence à te connaitre
ouf !! :lol: