papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Tracé d'un arbre avec une procédure récursive Sam 29 Jan 2022 - 3:31 | |
| - Code:
-
rem ============================================================================ rem Young Tree rem Adaptation par Papydall d’après un code de Ashish en QB64 rem ============================================================================ dim sx,sy,ox,oy,z,k,xx,yy Dim r(5), s(5), theta(5), phi(5), f(5) width 0,800 : height 0,750 picture 10 : full_space 10 : 2d_target_is 10 : color 10,0,0,0 : 2d_pen_color 200,100,50 caption 0,"Tracé en cours ... <ESC> pour arrêter ..." Init() YoungTree() end rem ============================================================================ SUB Init() ox = width_client(10)/2 : oy = height_client(10) : z = 300 r(0) = .05 : r(1) = .05 : r(2) = .6 : r(3) = .5 : r(4) = .5 : r(5) = .55 s(0) = .6 : s(1) = -.5 : s(2) = .5 : s(3) = .45 : s(4) = .55 : s(5) = .4 theta(0) = 0 : theta(1) = 0 : theta(2) = .698 : theta(3) = .349 : theta(4) = -.524 : theta(5) = -.698 phi(0) = 0 : phi(1) = 0 : phi(2) = .698 : phi(3) = .3492 : phi(4) = -.524 : phi(5) = -.698 f(0) = 0 : f(1) = 1 : f(2) = .6 : f(3) = 1.1 : f(4) = 1 : f(5) = .7 END_SUB rem ============================================================================ SUB YoungTree() dim_local i for i = 0 to 200 : drawYoungTree(sx,sy,0) : next i END_SUB rem ============================================================================ ' Procédure récursive SUB drawYoungTree(x, y, N) k = Int(Rnd(6)) xx = r(k) * Cos(theta(k)) * x - s(k) * Sin(phi(k)) * y yy = r(k) * Sin(theta(k)) * x + s(k) * Cos(phi(k)) * y + f(k) 2d_point xx * (z + z * .25) + ox, 0-yy * z + oy : display if scancode = 27 then terminate If N < 6000 drawYoungTree(xx, yy, N + 1) Else sx = xx : sy = yy End_If END_SUB rem ============================================================================
- Spoiler:
| |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Tracé d'un arbre avec une procédure récursive Sam 29 Jan 2022 - 9:57 | |
| Très belle adaptation ! Bravo Papydall. | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Tracé d'un arbre avec une procédure récursive Sam 29 Jan 2022 - 22:52 | |
| | |
|
Contenu sponsorisé
| Sujet: Re: Tracé d'un arbre avec une procédure récursive | |
| |
|