Courbes polaires
Page 1 sur 1
Courbes polaires
- Code:
rem ============================================================================
rem Courbes polaires
rem Par Papydall
rem ============================================================================
Init()
Trefle_Habenicht(5,150) : pause 2000
Rosace(300) : pause 2000
Coeur_Raphael_Laporte(200) : pause 2000
conchoide(50,8) : pause 2000
Tounesol(50,6) : pause 2000
Canabis(100) : pause 2000
Scarabee(100) : pause 2000
cls : caption 10,"... That's all for now folks ..." : pause 2000 : terminate
end
rem ============================================================================
SUB Init()
dim x,y,xc,yc,t,p,rho : ' Variables globales
full_space 0 : color 0,0,0,0 : ' Plein écran, fond noir
xc = width(0)/2 : yc = height(0)/2-25 : ' Coordonnées du centre de l'écran
p = pi/180 : ' Le step de l'angle en radian (équivalent 1°)
alpha 10 : font_bold 10 : font_size 10,24 : font_color 10,255,0,0
END_SUB
rem ============================================================================
' Colorisation des feuilles
SUB Color_Feuilles(n,r)
for t = 2*pi/n to 2*pi+p step 2*pi/n
x = xc + r/2 * cos(t) : y = yc +r/2 * sin(t)
2d_flood x,y,0,255,0
next t
END_SUB
rem ============================================================================
' Trèfle de Habenicht :
' Equation polaire : rho = 1+cos(n*t)+ sin(n*t)*sin(n*t)
' Le paramètre n représente le nombre de feuilles du trèfle
' le paramètre r représente le rayon du cercle dans lequel est inclus le tracé
SUB Trefle_Habenicht(n,r)
caption 10,"Trèfle de Habenicht"
' Calcul de l'origine du tracé
rho = 1+cos(n*t)+ sin(n*t) * sin(n*t)
x = xc + rho * r * cos(t) : y = yc + rho * r * sin(t)
2d_pen_color 0,255,0 : 2d_poly_from x,y
' Tracé de la courbe
for t = p to 2*pi step p
rho = 1+cos(n*t)+ sin(n*t) * sin(n*t)
x = xc + rho * r * cos(t) : y = yc + rho * r * sin(t)
2d_poly_to x,y
next t
' Colorisation des feuilles
Color_Feuilles(n,r)
' Tracé du centre du trèfle
2d_pen_color 0,0,0 : 2d_circle xc,yc,10: 2d_flood xc,yc,255,255,255
END_SUB
rem ============================================================================
' Rosace à 8 feuilles
' Equation polaire : rho = r*cos(4*t)
' Le paramètre r représente le rayon du cercle dans lequel est inclus le tracé
SUB Rosace(r)
caption 10,"Rosace à 8 feuilles"
cls
rho = r*cos(4*t)
x = xc + rho*cos(t) : y = yc + rho*sin(t)
2d_pen_color 0,255,0 : 2d_poly_from xc+r,yc
for t = p to 2*pi step p
rho = r*cos(4*t)
x = xc + rho*cos(t) : y = yc + rho*sin(t)
2d_poly_to x,y
next t
Color_Feuilles(8,r)
2d_pen_color 0,0,0 : 2d_circle xc,yc,10: 2d_flood xc,yc,255,255,255
END_SUB
rem ============================================================================
' Coeur de Raphaël Laporte :
' Equation paramétrique
' x = power(sin(t),3)
' y = cos(t) + power(cos(t),4)
SUB Coeur_Raphael_Laporte(r)
dim_local i,j
caption 10," Coeur de Raphaël Laporte"
cls
x = power(sin(t),3) : y = cos(t) + power(cos(t),4)
2d_pen_color 255,0,0 : 2d_poly_from xc+r*x,yc+r*y
for j = 1 to 5
for i = 2 to 1 step -0.5
cls
for t = p to 2*pi step p
x = power(sin(t),3) : y = cos(t) + power(cos(t),4)
2d_poly_to xc+i*r*x,yc+r*y
next t
2d_flood xc,yc+5,255,0,0 : pause 300
next i
next j
END_SUB
rem ============================================================================
' conchoïdes de Rosace :
' Equation polaire : rho = r*(1+e*cos(n*t))
' avec e > 1 donnent d'assez crédibles fleurs.
' n : nombre de feuilles
SUB conchoide(r,n)
dim_local e
caption 10,"conchoïdes de Rosace"
2d_pen_color 0,255,0
for e = 0.1 to 5 step 0.1
cls
rho = r*(1+e*cos(n*t))
x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_from x,y
for t = 0 to 2*pi step p
rho = r*(1+e*cos(n*t))
x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_to x,y
next t : pause 500
next e
END_SUB
rem ============================================================================
' Une variante :
' rho = r*(1+e*abs(cos(5*t))) avec e < 1 et le cercle de rayon r
SUB Tounesol(r,n)
dim_local e
caption 10,"Le tournesol"
2d_pen_color 0,255,0
for e = 0.0 to 5 step 0.5
cls
rho = r*(2+e*abs(cos(n*t)))
x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_from x,y
for t = 0 to 2*pi step p
rho = r*(2+e*abs(cos(n*t)))
x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_to x,y
next t
2d_flood xc,yc,255,255,0 : 2d_circle xc,yc,r
2d_flood xc,yc,255,255,255 : pause 1000
next e
END_SUB
rem ============================================================================
' La feuille de canabis
' rho = (1+sin(t))*(1+0.9*cos(8*t))*(1+0.1*cos(24*t))
SUB Canabis(r)
cls : 2d_pen_color 0,255,0 : caption 10,"La feuille de canabis"
rho = r*(1+sin(t))*(1+0.9*cos(8*t))*(1+0.1*cos(24*t))
x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_from x,y
for t = p to 2*pi step p
rho = r*(1+sin(t))*(1+0.9*cos(8*t))*(1+0.1*cos(24*t))
x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_to x,y
next t : pause 500
END_SUB
rem ============================================================================
' La courbe du scarabée
' rho = (5*a/3)*cos(2*t)-a*cos(t)
SUB Scarabee(r)
cls : 2d_pen_color 0,255,0 : caption 10,"La courbe du scarabée"
rho =r* (10/3)*cos(2*t)-2*cos(t)
x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_from x,y
for t = 0 to 2*pi step p
rho = r*(10/3)*cos(2*t)-2*cos(t)
x = xc + rho*cos(t) : y = yc + rho*sin(t) : 2d_poly_to x,y
next t : pause 500
END_SUB
rem ============================================================================
Sujets similaires
» Courbes en coordonnées polaires
» Courbes en coordonnées polaires : Les jolis papillons
» Courbes de Bézier cubiques
» Les Courbes de Bézier cubiques
» DES MATHS POUR L'ESTHETIQUE DES COURBES
» Courbes en coordonnées polaires : Les jolis papillons
» Courbes de Bézier cubiques
» Les Courbes de Bézier cubiques
» DES MATHS POUR L'ESTHETIQUE DES COURBES
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Lun 1 Jan - 0:25 par Papydall-Admin
» A ceux qui célèbre Noël, bonnes fêtes
Dim 24 Déc - 10:49 par Papydall-Admin
» Joyeux Noël et Bonne Année
Ven 8 Déc - 1:34 par Papydall-Admin
» Planets of the Solar System : Tilts and Spins
Lun 20 Mar - 15:43 par Papydall-Admin
» Bonne Année 2023
Sam 31 Déc - 1:39 par Papydall-Admin
» Fractals - Mandelbrot
Ven 21 Aoû - 22:51 par Papydall-Admin
» Convertisseur Décimal ---> Binaire, Octal, Hexadécimal, ...
Mer 21 Nov - 1:08 par Papydall-Admin
» Balises {USER...}
Lun 19 Nov - 22:12 par Papydall-Admin
» Useful Dog
Ven 6 Avr - 14:25 par Papydall-Admin