probleme de geometrie

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

probleme de geometrie

Message 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
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message 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)  
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message 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:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message 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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Merci a toi aussi lionel_om :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Bien sûr , je commence à te connaitre
ouf !! :lol:
Répondre