Rotation d'Ellipse & Pie Chart 3D Animés
Publié : ven. 10/oct./2014 9:54
bonjour
Voici un exemple de la fonction ellipse avec choix de l'angle de Rotation et qui doit être cross plateforme
Cordialement
[réédit] Ajout de la fonction round au calcul du tracé en rotation pour améliorer celui-ci
et aussi les paramètres début fin pour dessiner des arcs de cercle
Voici un exemple de la fonction ellipse avec choix de l'angle de Rotation et qui doit être cross plateforme

Cordialement
[réédit] Ajout de la fonction round au calcul du tracé en rotation pour améliorer celui-ci
et aussi les paramètres début fin pour dessiner des arcs de cercle
Code : Tout sélectionner
Procedure Ellipse_rotation(Axex.l, Axey.l, Xrayon.l, Yrayon.l, Rot.d, Debut.l, Fin.l, Couleur.l)
Protected Angle.d, R.d, X.d, Y.d, Posx1.l, Posy1.l, Posx2.l, Posy2.l
R = Radian(Rot)
For o = Debut To fin
Angle = Radian(o)
X = Cos(Angle) * Xrayon
Y = -Sin(Angle) * Yrayon
Posx1 = Round(X * Cos(R) + Y * Sin(R), #PB_Round_Nearest) + Axex ;round pour un meilleur tracé
Posy1 = Round(X * Sin(R) - Y * Cos(R), #PB_Round_Nearest) + Axey
If Posx2 = 0 And Posy2 = 0 : Posx2 = Posx1 : Posy2 = Posy1 : EndIf
LineXY(Posx2, Posy2, Posx1, Posy1, Couleur)
Posx2 = Posx1
Posy2 = Posy1
Next o
EndProcedure
If OpenWindow(0, 0, 0, 500,500, "Ellipse en rotation ", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(0, 10, 10, 480, 480)
StartDrawing(CanvasOutput(0))
For i = 0 To 360 Step 15
;Ellipse_rotation(240,240,100,220, i, 0, 360, RGB(Random(255) ,Random(255), Random(255)))
Ellipse_rotation(240, 240, 100, 220, i, 0, 360, RGB(0, 0, 0))
Next i
StopDrawing()
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf