Après un réveil difficile, j'ai mis en application mes bonnes résolutions!!!
Je suis(un débutant) en train de préparer un "tutoriel" pour profs débutants!
Le sujet est un classique des classes de 3ième et 2nde, la cycloïde!
Pour l'instant j'ai crée une roue, je la fais tourner (sans glissements) mais je ne sais pas comment faire pour afficher la trajectoire d'un point de la roue(la valve ou l'axe) au fur et à mesure avec un plot!
J'ai laissé dans le code le calcul des coordonnées de la valve
(positionXvalve;positionYvalve)
Si ce n'est pas possible, peut-on ouvrir un deuxième écran à coté pour tracer la trajectoire simultanément?
D'autres solutions ou idées sont les bienvenues!!!
Code : Tout sélectionner
;*****************variables utilisées********************
#RayonRoue=64 
#LargeurEcran=15*#RayonRoue
#HauteurEcran=4*#RayonRoue
#pi=3.1415927
Angle.f=0
PositionXvalve.f=0
PositionYvalve.f=0
PositionXaxe.f=32
PositionYaxe.f=32
;*****************initialisation**************************
InitKeyboard()
InitSprite()
InitSprite3D()
;*****************écrans*********************************
OpenWindow(1,1,1,#LargeurEcran,#HauteurEcran,#PB_Window_SystemMenu,"La cycloïde"); on ouvre une fenêtre
OpenWindowedScreen(WindowID(1),0,0,#LargeurEcran,#HauteurEcran,1,1,1); on met un écran dedans
;**************dessin du sol****************************
;**************dessin de la roue**********************
CreateSprite(0,128,128,#PB_Sprite_Texture); 
StartDrawing(SpriteOutput(0))
Circle(64,64,64,RGB(77, 125, 139));pneu(extérieur
Circle(64,64,48,RGB(0,0,0));pneu(intérieur)
LineXY( 32,32,96,96,RGB(193, 49, 54));
LineXY(32,96,96,32,RGB(193, 49, 54));
Box(104,60,8,8,RGB(249, 235, 6));valve 
Box(60,60,8,8,RGB(248, 43, 7));axe
StopDrawing()
CreateSprite3D(0,0)
;*******************************************************
Repeat ; boucle principale 
  
   Repeat 
     Event = WindowEvent() 
      
     Select Event 
       Case #PB_Event_CloseWindow 
         End 
     EndSelect 
   Until Event = #Null 
    
  Angle=Angle+1
  If Angle*#RayonRoue*#pi/ 180>=#LargeurEcran
  Angle=0
  EndIf
 
  
ClearScreen(0,0,0)
StartDrawing(ScreenOutput())
Box(0,3*#RayonRoue,#LargeurEcran,#RayonRoue,RGB(166, 240, 89));  dessin du sol (gazon!)
;*************infos provisoires sur le mouvement*******************
Locate(0,0)
DrawText("Distance=" + StrF((Angle)*32*#pi/ 180))
Locate(0,30)
DrawText("Tour(s)=" + StrF(Angle/360))
;******************************************************************
;**********************position de la valve************************
;PositionXvalve=64*Angle*#pi/180+48*Cos(Angle*#pi/180)+68
;PositionYvalve=48*Sin(Angle*#pi/180)+128
;Plot(PositionXvalve,PositionYvalve,RGB(57, 70, 243))
;******************************************************************
StopDrawing()
;******************affichage de la roue****************************
Start3D()
RotateSprite3D(0,Angle,0)
DisplaySprite3D(0,Angle*#RayonRoue*#pi/ 180,#RayonRoue)
Stop3D() 
FlipBuffers () 
 
ForEverMerci d'avance!!!






 (avec ça tes profs vont être super content et en plus un peu de pub gratuite pour pure c'est sympa, la communauté va s'agrandir
 (avec ça tes profs vont être super content et en plus un peu de pub gratuite pour pure c'est sympa, la communauté va s'agrandir