FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Ne regrette pas de vieillir. Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Ne regrette pas de vieillir. Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Ne regrette pas de vieillir. Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Ne regrette pas de vieillir. Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Ne regrette pas de vieillir. Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Ne regrette pas de vieillir. Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Ne regrette pas de vieillir. Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Ne regrette pas de vieillir. Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Ne regrette pas de vieillir. Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Ne regrette pas de vieillir. Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Ne regrette pas de vieillir. Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Ne regrette pas de vieillir. Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Ne regrette pas de vieillir. Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Ne regrette pas de vieillir. Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Ne regrette pas de vieillir. Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

 

 Ne regrette pas de vieillir.

Aller en bas 
2 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Ne regrette pas de vieillir. Empty
MessageSujet: Ne regrette pas de vieillir.   Ne regrette pas de vieillir. EmptyMar 7 Nov 2023 - 22:50

Code:

rem ============================================================================
rem              Ne regrette pas de vieillir.
rem         C’est un privilège refusé à beaucoup!  
rem              Papydall le 07 / 11 / 2023        
rem ============================================================================  
Init()
GUI()
Livre(titre1$,titre2$,auteur$,nb_page)  
end
rem ============================================================================
SUB Init()
    label Gestion_Clic
    dim xc,yc,x,y,nb_page,i
    dim titre1$,titre2$,auteur$
    dim r,g,b
  
    width 0,1300 : height 0,800
    top 0,(screen_y - height(0))/2 : left 0, (screen_x - width(0))/2
    xc = width(0)/2 : yc = height(0)/2
    titre1$ = "Ne regrette pas de vieillir"
    titre2$ = "C'est un privilège refusé à beaucoup"
    auteur$ = "FÉLIX LECLERC"        
    nb_page = 8                
END_SUB
rem ============================================================================
SUB GUI()
    color 0,0,0,128
    alpha 10 : top 10,20 : left 10, 150 : font_bold 10 : font_size 10,24
    font_name 10,"arial" : font_color 10,255,255,255
    caption 10,"         Veuillez patienter ... Je me prépare ..."
    picture 100 : width 100,xc-100 : height 100,2*yc-150
    top 100,80 : left 100,xc-width(100)/2 : on_click 100,Gestion_Clic : hide 100
    cursor_point 100 : font_name 100,"arial" : font_bold 100 : font_size 100,18
    font_color 100,255,255,255    
END_SUB
rem ============================================================================
SUB Livre(titre1$,titre2$,auteur$,nb_page)
    dim_local i, t$
    for i = 101 to 100+nb_page
        picture i : width i,width(100) : height i,height(100) : top i,80
        if even(i) = 0 then left i,80 : else : left i,xc+30
        on_click i,Gestion_Clic : hide i : cursor_point i
        font_bold i : font_name i,"arial" : font_size i,14 : font_color i,200,50,20
        Afficher_Page(i)
    next i
    Rediger_Pages()
    t$ = "Cliquer sur le livre pour l'ouvrir ...."
    t$ = t$ + " ou sur la croix rouge pour quitter ..."
    2d_target_is 100 : print_target_is 100
    2d_fill_color 150,100,50 : 2d_rectangle 0,0,width(100),height(100)
    2d_pen_width 5  : 2d_pen_color 250,150,25 : 2d_line 20,0,20,height(100)
    print_locate 150,050 : print titre1$ : print_locate 100,090 : print titre2$
    font_size 100,18 : print_locate 180,height(100)-100 : print "Auteur : " + auteur$
    show 100
    caption 0,"Cliquer sur le livre pour l'ouvrir"
    caption 10,titre1$ + ". "  + titre2$
END_SUB
rem ============================================================================
SUB Afficher_Page(p)  
    print_target_is p : font_color p,0,0,0 : 2d_fill_color 255,255,255
    font_size p,10 : font_name p,"arial"
    2d_target_is p : 2d_pen_color 0,0,0
    if odd(p) > 0      
       if p > 101                
          2d_line 1,1,1,height(p)
          2d_line 3,1,3,height(p)
          2d_line 5,1,5,height(p)
       end_if
       print_locate 010,height(p)-50
    else
       if p < 100 + nb_page
          2d_line width(p)-7,1,width(p)-7,height(p)
          2d_line width(p)-5,1,width(p)-5,height(p)
          2d_line width(p)-3,1,width(p)-3,height(p)    
       end_if
       print_locate width(p)-70,height(p)-50  
    end_if
    print "Page " + str$(p-100)    
END_SUB
rem ============================================================================
SUB Ouvrir_Livre()
    dim_local i,j,t$
    t$ = "Cliquer dans les pages pour feuilleter le livre ..."
    t$ = t$ + " ou sur la croix rouge pour quitter ..."
    for i = 100 to 100 + nb_page : off_click i : next i
    caption 0,t$
    hide 100 : 2d_target_is 0 : print_target_is 0
    2d_fill_color 150,50,20 : 2d_pen_color 10,0,0 : 2d_pen_width 5
    if even(number_click) > 0
       for i = 2*xc-50 to 30 step -5
           2d_rectangle i,60,2*xc-50,2*yc-50 : pause 1  
       next i
    else
       for i = 30 to 2*xc-50 step 5
           2d_rectangle 30,60,i,2*yc-50 : pause 1
       next i
    end_if
    for i = xc-10 to xc+10
        2d_pen_color 12.5*abs(xc-i),12.5*abs(xc-i),12.5*abs(xc-i)
        2d_line i,top(100),i,top(100) + height(100)
    next i
    2d_fill_color 255,255,255 : show 10
    for i = 101 to 100 + nb_page : Afficher_Page(i) : on_click i,Gestion_Clic : next i
END_SUB
rem ============================================================================
Gestion_Clic:
    Ouvrir_Livre()  
    i = number_click
    if i = 100            
       show 101 : show 102
       return
    end_if
    if i = 101    
       hide 10 : hide 101 : hide 102 : show 100
       2d_target_is 0 : cls : on_click 100,Gestion_Clic      
       caption 0,"Cliquer sur le livre pour l'ouvrir ....  ou sur la croix rouge pour quitter ..."
       return
    end_if    
    if i > 101 and i < 100 + nb_page
       if even(i) = 1                
          show i+1 : show i+2      
       else                          
          hide i : hide i+1 : show i-2 : show i-1
       end_if    
    end_if    
    if i = 100 + nb_page  
       for i = 101 to 100 + nb_page : hide i : next i
       hide 10 : show 100 : 2d_target_is 0 : cls    
       caption 0,"Cliquer sur le livre pour l'ouvrir ....  ou sur la croix rouge pour quitter ..."  
       on_click 100,Gestion_Clic      
    end_if
return
rem ============================================================================
SUB Rediger_Pages()
    Page_1()  
    Page_2()    
    Page_3()
    Page_4()
    Page_5()
    Page_6()
    Page_7()
    Page_8()
END_SUB
rem ============================================================================
SUB Page_1()
    print_target_is 101
    font_size 101,14 : font_color 101,200,50,20
    print_locate 50,100 : print "Vieillir en beauté, c'est vieillir avec son coeur;"
    print_locate 50,150 : print "Sans remords, sans regret, sans regarder l'heure;"
    print_locate 50,200 : print "Aller de l'avant, arrêter d'avoir peur;"
    print_locate 50,250 : print "Car, à chaque âge, se rattache un bonheur."
    Coeur(101)
END_SUB
rem ============================================================================
SUB Page_2()
    print_target_is 102
    font_size 102,14 : font_color 102,200,50,20
    print_locate 50,100 : print "Vieillir en beauté, c'est vieillir avec son corps;"
    print_locate 50,150 : print "Le garder sain en dedans, beau en dehors."
    print_locate 50,200 : print "Ne jamais abdiquer devant un effort."
    print_locate 50,250 : print "L'âge n'a rien à voir avec la mort."  
    rosace(12,102)  
END_SUB
rem ============================================================================
SUB Page_3()
    print_target_is 103
    font_size 103,14 : font_color 103,200,50,20
    print_locate 50,100 : print "Vieillir en beauté, c'est donner un coup de pouce"
    print_locate 50,150 : print "À ceux qui se sentent perdus dans la brousse,"
    print_locate 50,200 : print "Qui ne croient plus que la vie peut être douce"
    print_locate 50,250 : print "Et qu'il y a toujours quelqu'un à la rescousse."
    lion(103)  
END_SUB
rem ============================================================================
SUB Page_4()
    print_target_is 104
    font_size 104,14 : font_color 104,200,50,20
    print_locate 50,100 : print "Vieillir en beauté, c'est vieillir positivement."
    print_locate 50,150 : print "Ne pas pleurer sur ses souvenirs d'antan."
    print_locate 50,200 : print "Être fier d'avoir les cheveux blancs,"
    print_locate 50,250 : print "Car, pour être heureux, on a encore le temps."    
    Ferrari_Shape(104)  
END_SUB
rem ============================================================================
SUB Page_5()
    print_target_is 105
    font_size 105,14 : font_color 105,200,50,20
    print_locate 50,100 : print "Vieillir en beauté, c'est vieillir avec amour,"
    print_locate 50,150 : print "Savoir donner sans rien attendre en retour;"
    print_locate 50,200 : print "Car, où que l'on soit, à l'aube du jour,"
    print_locate 50,250 : print "Il y a quelqu'un à qui dire bonjour."  
    Oiseau(105)
END_SUB
rem ============================================================================
SUB Page_6()
    print_target_is 106
    font_size 106,14 : font_color 106,200,50,20
    print_locate 50,100 : print "Vieillir en beauté, c'est vieillir avec espoir;"
    print_locate 50,150 : print "Être content de soi en se couchant le soir."
    print_locate 50,200 : print "Et lorsque viendra le point de non-recevoir,"
    print_locate 50,250 : print "Se dire qu'au fond, ce n'est qu'un au revoir."
    Pi_(106)  
END_SUB
rem ============================================================================
SUB Page_7()
    print_target_is 107
    font_size 107,20 : font_color 107,20,50,200
    print_locate 50,200 : print "Papydall vous souhaite"
    print_locate 80,350 : print "une longue vie !"
END_SUB
rem ============================================================================
SUB Page_8()
    print_target_is 108
    font_size 108,30 : font_color 108,20,50,200
    print_locate 200,280 : print "F I N"
END_SUB
rem ============================================================================
SUB rosace(k,p)
    dim_local x,y,r,t,xc,yc
    2d_target_is p
    r = 100
    xc = width(p)/2 : yc = height(p)-r-100
    degrees
    2d_poly_from xc,yc+r : 2d_pen_color 0,0,255
    for t = 0 to 360
        x = r*cos(k*t)*sin(t)
        y = r*cos(k*t)*cos(t)
        2d_poly_to xc+x,yc+y
    next t
END_SUB
rem ============================================================================
SUB coeur(p)
    dim_local x,y,r,t,xc,yc
    2d_target_is p
    r = 100
    xc = width(p)/2 : yc = height(p)-r-150
    degrees
    2d_poly_from xc,yc : 2d_pen_color 255,0,0
    for t = 0 to 360
        x = r*sin(t)*sin(t)*sin(t)
        y = r*(cos(t) - (cos(t)*cos(t)*cos(t)*cos(t)))
        2d_poly_to xc+x,yc-y
    next t
    2d_flood xc,yc+5,255,0,0 : 2d_fill_color 255,255,255
END_SUB
rem ============================================================================
SUB Lion(p)
    dim_local xc,yc,x,y,t,twopi,pas  
    xc = width_client(p)/2+20 : yc = height_client(p)/2+120 : twopi = 2*pi : pas = pi/180
    2d_target_is p
    radians
    for t = 0 to twopi step pas
        x = 4/19 * sin(141/32 - 160 * t)
        x = x + 8/35 * sin(87/38 - 157 * t)
        x = x + 2/11 * sin(101/37 - 156 * t)
        x = x + 6/31 * sin(19/34 - 154 * t)
        x = x + 7/41 * sin(117/38 - 153 * t)
        x = x + 1/8 * sin(47/25 - 152 * t)
        x = x + 7/46 * sin(257/75 - 151 * t)
        x = x + 9/46 * sin(73/45 - 149 * t)
        x = x + 3/19 * sin(45/16 - 148 * t)
        x = x + 5/19 * sin(1/33 - 147 * t)
        x = x + 14/47 * sin(76/27 - 144 * t)
        x = x + 1/18 * sin(59/13 - 142 * t)
        x = x + 7/32 * sin(69/68 - 139 * t)
        x = x + 13/42 * sin(87/22 - 136 * t)
        x = x + 5/36 * sin(13/16 - 135 * t)
        x = x + 4/35 * sin(47/20 - 134 * t)
        x = x + 14/39 * sin(111/32 - 133 * t)
        x = x + 3/34 * sin(567/142 - 132 * t)
        x = x + 8/27 * sin(7/18 - 130 * t)
        x = x + 2/7 * sin(220/63 - 129 * t)
        x = x+ 7/37 * sin(50/29 - 128 * t)
        x = x + 10/37 * sin(72/31 - 127 * t)
        x = x + 5/16 * sin(31/28 - 126 * t)
        x = x + 5/26 * sin(184/45 - 125 * t)
        x = x + 5/19 * sin(23/32 - 124 * t)
        x = x + 3/16 * sin(13/51 - 123 * t)
        x = x + 8/19 * sin(17/41 - 122 * t)
        x = x + 14/47 * sin(179/45 - 121 * t)
        x = x + 10/41 * sin(76/39 - 119 * t)
        x = x + 5/21 * sin(67/28 - 117 * t)
        x = x + 16/41 * sin(313/68 - 116 * t)
        x = x + 3/7 * sin(53/37 - 115 * t)
        x = x + 17/45 * sin(194/47 - 114 * t)
        x = x + 1/25 * sin(7/39 - 113 * t)
        x = x + 17/30 * sin(207/58 - 112 * t)
        x = x + 4/17 * sin(8/55 - 111 * t)
        x = x + 3/19 * sin(43/24 - 110 * t)
        x = x + 7/26 * sin(100/43 - 108 * t)
        x = x + 7/32 * sin(63/16 - 107 * t)
        x = x + 10/31 * sin(23/43 - 106 * t)
        x = x + 8/25 * sin(99/31 - 105 * t)
        x = x + 6/37 * sin(185/53 - 104 * t)
        x = x + 12/23 * sin(33/14 - 103 * t)
        x = x + 8/29 * sin(4 - 102 * t)
        x = x + 2/9 * sin(15/29 - 100 * t)
        x = x + 29/68 * sin(137/61 - 99 * t)
        x = x + 7/29 * sin(88/25 - 98 * t)
        x = x + 1/12 * sin(21/20 - 97 * t)
        x = x + 1/4 * sin(93/26 - 96 * t)
        x = x + 11/31 * sin(57/40 - 95 * t)
        x = x + 13/46 * sin(27/23 - 90 * t)
        x = x + 12/29 * sin(27/40 - 88 * t)
        x = x + 23/35 * sin(43/12 - 87 * t)
        x = x + 8/9 * sin(1/176 - 86 * t)
        x = x + 1/4 * sin(104/29 - 85 * t)
        x = x + 11/24 * sin(84/25 - 83 * t)
        x = x + 21/46 * sin(43/27 - 81 * t)
        x = x + 26/47 * sin(73/25 - 80 * t)
        x = x + 1/6 * sin(241/86 - 79 * t)
        x = x + 7/43 * sin(99/28 - 76 * t)
        x = x + 9/17 * sin(97/34 - 75 * t)
        x = x + 4/5 * sin(148/35 - 74 * t)
        x = x + 22/37 * sin(7/29 - 73 * t)
        x = x + 32/43 * sin(98/29 - 72 * t)
        x = x + 17/21 * sin(37/29 - 70 * t)
        x = x + 31/47 * sin(60/17 - 69 * t)
        x = x + 17/27 * sin(79/24 - 68 * t)
        x = x + 8/7 * sin(159/49 - 67 * t)
        x = x + 44/35 * sin(67/41 - 65 * t)
        x = x + 13/36 * sin(39/10 - 64 * t)
        x = x + 43/31 * sin(29/31 - 63 * t)
        x = x + 15/41 * sin(69/32 - 62 * t)
        x = x + 45/37 * sin(3/14 - 61 * t)
        x = x + 11/15 * sin(108/47 - 60 * t)
        x = x + 10/17 * sin(38/9 - 59 * t)
        x = x + 34/25 * sin(26/29 - 58 * t)
        x = x + 7/20 * sin(86/25 - 57 * t)
        x = x + 39/23 * sin(1/53 - 54 * t)
        x = x + 13/12 * sin(73/19 - 53 * t)
        x = x + 19/30 * sin(411/103 - 52 * t)
        x = x + 10/9 * sin(43/11 - 51 * t)
        x = x + 57/29 * sin(25/22 - 50 * t)
        x = x + 103/54 * sin(38/13 - 49 * t)
        x = x + 35/22 * sin(31/35 - 47 * t)
        x = x + 7/12 * sin(7/10 - 45 * t)
        x = x + 81/26 * sin(142/37 - 44 * t)
        x = x + 16/37 * sin(62/55 - 42 * t)
        x = x + 15/17 * sin(11/6 - 41 * t)
        x = x + 57/22 * sin(29/9 - 40 * t)
        x = x + 103/55 * sin(218/61 - 39 * t)
        x = x + 33/26 * sin(27/13 - 38 * t)
        x = x + 11/28 * sin(64/23 - 37 * t)
        x = x + 34/13 * sin(55/36 - 36 * t)
        x = x + 89/21 * sin(11/6 - 35 * t)
        x = x + 142/35 * sin(25/17 - 34 * t)
        x = x + 67/22 * sin(17/30 - 33 * t)
        x = x + 58/15 * sin(16/19 - 32 * t)
        x = x + 56/23 * sin(61/28 - 31 * t)
        x = x + 121/30 * sin(63/17 - 29 * t)
        x = x + 155/36 * sin(17/47 - 27 * t)
        x = x + 65/38 * sin(51/41 - 26 * t)
        x = x + 272/37 * sin(67/52 - 23 * t)
        x = x + 59/32 * sin(82/27 - 22 * t)
        x = x + 246/31 * sin(2477/619 - 21 * t)
        x = x + 89/7 * sin(91/22 - 20 * t)
        x = x + 152/9 * sin(13/10 - 17 * t)
        x = x + 383/37 * sin(26/9 - 16 * t)
        x = x + 149/28 * sin(1/12 - 15 * t)
        x = x + 331/15 * sin(43/22 - 14 * t)
        x = x + 841/30 * sin(44/19 - 13 * t)
        x = x + 279/16 * sin(41/14 - 12 * t)
        x = x + 753/37 * sin(201/73 - 11 * t)
        x = x + 601/31 * sin(46/61 - 10 * t)
        x = x + 4265/47 * sin(115/37 - 7 * t)
        x = x + 6215/158 * sin(77/51 - 6 * t)
        x = x + 499/25 * sin(40/23 - 5 * t)
        x = x + 1910/19 * sin(254/61 - 4 * t)
        x = x + 3909/31 * sin(60/31 - 3 * t)
        x = x + 34111/40 * sin(43/18 - t)
        x = x - 6677/35 * sin(2 * t + 17/20)
        x = x - 723/17 * sin(8 * t + 61/41)
        x = x - 1900/37 * sin(9 * t + 19/24)
        x = x - 789/59 * sin(18 * t + 4/27)
        x = x - 195/44 * sin(19 * t + 52/35)
        x = x - 283/23 * sin(24 * t + 4/7)
        x = x - 148/21 * sin(25 * t + 59/40)
        x = x - 343/44 * sin(28 * t + 13/9)
        x = x - 14/23 * sin(30 * t + 71/62)
        x = x - 64/27 * sin(43 * t + 26/17)
        x = x - 7/12 * sin(46 * t + 27/26)
        x = x - 65/34 * sin(48 * t + 18/25)
        x = x - 31/28 * sin(55 * t + 7/9)
        x = x - 23/18 * sin(56 * t + 39/59)
        x = x - 5/23 * sin(66 * t + 2/29)
        x = x - 19/21 * sin(71 * t + 38/61)
        x = x - 34/91 * sin(77 * t + 21/52)
        x = x - 8/65 * sin(78 * t + 1)
        x = x - 2/7 * sin(82 * t + 11/43)
        x = x - 11/29 * sin(84 * t + 11/8)
        x = x - 19/29 * sin(89 * t + 71/46)
        x = x - 13/38 * sin(91 * t + 6/13)
        x = x - 11/30 * sin(92 * t + 17/11)
        x = x - 41/103 * sin(93 * t + 3/13)
        x = x - 1/5 * sin(94 * t + 2/17)
        x = x - 13/23 * sin(101 * t + 9/16)
        x = x - 7/25 * sin(109 * t + 35/37)
        x = x - 15/61 * sin(118 * t + 2/13)
        x = x - 13/59 * sin(120 * t + 32/53)
        x = x - 3/41 * sin(131 * t + 16/37)
        x = x - 2/37 * sin(137 * t + 2/37)
        x = x - 6/19 * sin(138 * t + 31/24)
        x = x - 12/85 * sin(140 * t + 1/31)
        x = x - 8/37 * sin(141 * t + 50/43)
        x = x - 3/22 * sin(143 * t + 34/27)
        x = x - 5/34 * sin(145 * t + 11/23)
        x = x - 4/31 * sin(146 * t + 1/11)
        x = x - 9/28 * sin(150 * t + 13/28)
        x = x - 1/16 * sin(155 * t + 5/21)
        x = x - 1/8 * sin(158 * t + 20/37)
        x = x - 1/13 * sin(159 * t + 13/16)
        
        y = 3/28 * sin(63/29 - 159 * t)
        y = y + 4/21 * sin(7/23 - 157 * t)
        y = y + 4/43 * sin(32/21 - 156 * t)
        y = y + 8/31 * sin(101/30 - 155 * t)
        y = y + 3/28 * sin(3/16 - 154 * t)
        y = y + 1/26 * sin(131/37 - 153 * t)
        y = y + 2/23 * sin(62/17 - 151 * t)
        y = y + 1/6 * sin(23/24 - 150 * t)
        y = y + 1/9 * sin(137/36 - 149 * t)
        y = y + 1/15 * sin(77/17 - 148 * t)
        y = y + 11/24 * sin(73/37 - 146 * t)
        y = y + 5/46 * sin(161/36 - 145 * t)
        y = y + 8/35 * sin(37/19 - 144 * t)
        y = y + 2/11 * sin(325/81 - 143 * t)
        y = y + 1/11 * sin(46/25 - 142 * t)
        y = y + 2/35 * sin(48/31 - 141 * t)
        y = y + 2/9 * sin(41/11 - 140 * t)
        y = y + 5/39 * sin(11/15 - 139 * t)
        y = y + 1/34 * sin(47/17 - 138 * t)
        y = y + 11/30 * sin(10/9 - 137 * t)
        y = y + 5/12 * sin(182/47 - 136 * t)
        y = y + 1/18 * sin(37/31 - 134 * t)
        y = y + 5/41 * sin(77/23 - 133 * t)
        y = y + 2/19 * sin(255/56 - 131 * t)
        y = y + 1/12 * sin(109/49 - 129 * t)
        y = y + 2/13 * sin(43/20 - 127 * t)
        y = y + 5/37 * sin(34/29 - 125 * t)
        y = y + 6/17 * sin(56/17 - 124 * t)
        y = y + 17/35 * sin(38/33 - 122 * t)
        y = y + 17/45 * sin(37/9 - 121 * t)
        y = y + 21/52 * sin(5/17 - 120 * t)
        y = y + 9/23 * sin(136/39 - 119 * t)
        y = y + 23/93 * sin(2 - 117 * t)
        y = y + 7/11 * sin(39/19 - 115 * t)
        y = y + 20/43 * sin(143/40 - 114 * t)
        y = y + 12/31 * sin(82/43 - 112 * t)
        y = y + 17/24 * sin(29/17 - 110 * t)
        y = y + 2/3 * sin(285/67 - 109 * t)
        y = y + 35/61 * sin(10/21 - 108 * t)
        y = y + 5/12 * sin(46/21 - 107 * t)
        y = y + 13/46 * sin(92/49 - 106 * t)
        y = y + 2/13 * sin(93/26 - 105 * t)
        y = y + 9/49 * sin(47/38 - 103 * t)
        y = y + 13/34 * sin(161/41 - 102 * t)
        y = y + 3/14 * sin(53/14 - 100 * t)
        y = y + 6/19 * sin(9/23 - 99 * t)
        y = y + 7/30 * sin(73/28 - 98 * t)
        y = y + 3/20 * sin(108/23 - 97 * t)
        y = y + 3/14 * sin(146/31 - 96 * t)
        y = y + 19/37 * sin(164/59 - 95 * t)
        y = y + 5/6 * sin(14/3 - 94 * t)
        y = y + 2/11 * sin(7/11 - 93 * t)
        y = y + 4/11 * sin(19/15 - 91 * t)
        y = y + 12/29 * sin(17/32 - 88 * t)
        y = y + 2/35 * sin(269/62 - 87 * t)
        y = y + 15/28 * sin(79/41 - 86 * t)
        y = y + 13/12 * sin(51/13 - 85 * t)
        y = y + 12/19 * sin(9/55 - 84 * t)
        y = y + 14/31 * sin(23/10 - 83 * t)
        y = y + 26/41 * sin(13/35 - 81 * t)
        y = y + 49/57 * sin(89/38 - 80 * t)
        y = y + 37/43 * sin(41/42 - 78 * t)
        y = y + 13/30 * sin(46/27 - 77 * t)
        y = y + 31/46 * sin(29/13 - 76 * t)
        y = y + 17/43 * sin(28/31 - 75 * t)
        y = y + 3/46 * sin(63/17 - 74 * t)
        y = y + 25/42 * sin(1/3 - 73 * t)
        y = y + 17/19 * sin(137/44 - 72 * t)
        y = y + 38/39 * sin(68/37 - 70 * t)
        y = y + 13/11 * sin(34/21 - 68 * t)
        y = y + 3/2 * sin(80/21 - 67 * t)
        y = y + 45/58 * sin(85/53 - 65 * t)
        y = y + 23/24 * sin(86/19 - 64 * t)
        y = y + 79/63 * sin(88/49 - 63 * t)
        y = y + 33/19 * sin(103/26 - 62 * t)
        y = y + 38/49 * sin(12/19 - 61 * t)
        y = y + 23/18 * sin(90/31 - 60 * t)
        y = y + 19/26 * sin(113/25 - 59 * t)
        y = y  + 62/83 * sin(38/11 - 57 * t)
        y = y + 25/16 * sin(87/130 - 55 * t)
        y = y + 59/36 * sin(257/154 - 54 * t)
        y = y + 21/26 * sin(71/20 - 53 * t)
        y = y + 16/17 * sin(43/31 - 52 * t)
        y = y + 19/30 * sin(14/9 - 50 * t)
        y = y + 42/25 * sin(54/13 - 49 * t)
        y = y + 35/33 * sin(5/19 - 47 * t)
        y = y + 115/57 * sin(15/34 - 46 * t)
        y = y + 74/29 * sin(21/17 - 45 * t)
        y = y + 83/36 * sin(145/43 - 44 * t)
        y = y + 35/13 * sin(48/49 - 42 * t)
        y = y + 37/18 * sin(73/20 - 41 * t)
        y = y + 34/19 * sin(58/25 - 39 * t)
        y = y + 41/30 * sin(19/24 - 37 * t)
        y = y + 49/22 * sin(24/17 - 36 * t)
        y = y + 71/52 * sin(11/6 - 35 * t)
        y = y + 11/3 * sin(74/29 - 34 * t)
        y = y + 94/23 * sin(137/34 - 33 * t)
        y = y + 23/22 * sin(38/31 - 31 * t)
        y = y + 179/57 * sin(54/29 - 30 * t)
        y = y + 10/71 * sin(99/28 - 29 * t)
        y = y + 41/24 * sin(53/30 - 28 * t)
        y = y + 51/23 * sin(97/65 - 27 * t)
        y = y  + 120/19 * sin(133/44 - 26 * t)
        y = y + 313/52 * sin(87/19 - 25 * t) + 227/65 * sin(25/26 - 24 * t)
        y = y + 122/25 * sin(31/9 - 23 * t) + 37/24 * sin(53/38 - 22 * t)
        y = y + 398/77 * sin(145/31 - 21 * t) + 502/39 * sin(158/51 - 18 * t)
        y = y + 74/23 * sin(9/34 - 16 * t) + 233/32 * sin(57/22 - 15 * t)
        y = y + 407/27 * sin(59/22 - 14 * t) + 2007/59 * sin(53/22 - 11 * t)
        y = y + 997/38 * sin(83/39 - 10 * t) + 1152/17 * sin(27/38 - 8 * t)
        y = y + 1067/25 * sin(5/12 - 7 * t) + 1221/17 * sin(7/12 - 6 * t)
        y = y + 797/9 * sin(35/29 - 5 * t) + 9099/86 * sin(63/47 - 4 * t)
        y = y + 10397/21 * sin(27/7 - t) - 1943/25 * sin(2 * t + 3/16)
        y = y - 2187/11 * sin(3 * t + 49/37) - 2215/54 * sin(9 * t + 6/7)
        y = y - 557/21 * sin(12 * t + 37/43) - 763/38 * sin(13 * t + 19/27)
        y = y - 234/35 * sin(17 * t + 5/4) - 275/38 * sin(19 * t + 11/13)
        y = y - 670/63 * sin(20 * t + 14/17) - 117/233 * sin(32 * t + 17/20)
        y = y - 111/83 * sin(38 * t + 11/31) - 2/3 * sin(40 * t + 1/31)
        y = y - 146/43 * sin(43 * t + 17/28) - 108/77 * sin(48 * t + 21/29)
        y = y - 5/9 * sin(51 * t + 19/13) - 19/17 * sin(56 * t + 27/23)
        y = y - 11/10 * sin(58 * t + 13/38) - 29/14 * sin(66 * t + 13/21)
        y = y - 42/83 * sin(69 * t + 36/25) - 55/56 * sin(71 * t + 15/26)
        y = y - 17/28 * sin(79 * t + 29/22) - 4/31 * sin(82 * t + 47/55)
        y = y - 20/39 * sin(89 * t + 17/37) - 4/13 * sin(90 * t + 31/25)
        y = y - 7/22 * sin(92 * t + 38/27) - 16/47 * sin(101 * t + 15/29)
        y = y - 5/28 * sin(104 * t + 423/424) - 54/163 * sin(111 * t + 13/20)
        y = y - 17/31 * sin(113 * t + 5/29) - 5/24 * sin(116 * t + 13/31)
        y = y - 55/109 * sin(118 * t + 5/19) - 8/15 * sin(123 * t + 27/23)
        y = y - 3/20 * sin(126 * t + 61/39) - 11/34 * sin(128 * t + 37/36)
        y = y - 7/33 * sin(130 * t + 21/23) - 13/31 * sin(132 * t + 45/29)
        y = y - 7/23 * sin(135 * t + 4/41) - 4/41 * sin(147 * t + 9/32)
        y = y - 4/37 * sin(152 * t + 5/34) - 13/77 * sin(158 * t + 17/36)
        y = y - 9/62 * sin(160 * t + 3/37)
    if t = 0
           2d_poly_from  xc+x/4,yc-y/4
        else
           2d_poly_to xc+x/4,yc-y/4
        end_if    
    next t
    2d_flood xc,yc,200,100,20    
END_SUB
rem ============================================================================
SUB Ferrari_Shape(p)
    dim_local xc,yc,x,y,t,twopi,pas  
    xc = width_client(p)/2 : yc = height_client(p)/1.5 : twopi = 2*pi : pas = pi/180
    2d_target_is p
    radians
    for t = 0 to twopi step pas
        x = 5/19 *sin(1/5 - 120 *t) - 26/35 *sin(13/14 - 116 *t)
        x = x - 5/26 *sin(6/23 - 115 *t) - 9/23 *sin(31/21 - 106 *t)
        x = x - 3/28 *sin(104/69 - 97 *t) - 23/58 *sin(44/31 - 90 *t)
        x = x - 12/17 *sin(3/13 - 89 *t) - 7/17 *sin(4/11 - 86 *t)
        x = x - 17/26 *sin(17/15 - 77 *t) - 38/29 *sin(7/19 - 71 *t)
        x = x - 18/19 *sin(17/12 - 69 *t) - 22/21 *sin(25/18 - 64 *t)
        x = x - 26/23 *sin(11/13 - 63 *t) - 11/8 *sin(7/12 - 62 *t)
        x = x - 41/29 *sin(7/8 - 61 *t) - 72/23 *sin(10/17 - 60 *t)
        x = x - 47/15 *sin(11/16 - 59 *t) - 13/12 *sin(1/35 - 58 *t)
        x = x - 155/78 *sin(2/13 - 57 *t) - 15/13 *sin(16/29 - 56 *t)
        x = x - 71/34 *sin(26/17 - 54 *t) - 133/44 *sin(53/54 - 53 *t)
        x = x - 49/12 *sin(29/19 - 52 *t) - 181/35 *sin(11/29 - 51 *t)
        x = x - 27/7 *sin(14/9 - 41 *t) - 97/25 *sin(50/33 - 40 *t)
        x = x - 61/15 *sin(37/28 - 38 *t) - 34/9 *sin(5/17 - 37 *t)
        x = x - 39/17 *sin(40/27 - 36 *t) - 41/9 *sin(3/13 - 35 *t)
        x = x - 149/9 *sin(12/31 - 18 *t) - 304/25 *sin(22/23 - 13 *t)
        x = x - 1217/30 *sin(9/20 - 9 *t) - 485/29 *sin(2/17 - 7 *t)
        x = x - 243/7 *sin(19/28 - 5 *t) - 1103/9 *sin(31/26 - 3 *t)
        x = x - 1358/31 *sin(4/13 - 2 *t) + 4251/14 *sin(t + 32/13)
        x = x + 187/13 *sin(4 *t + 20/19) + 335/19 *sin(6 *t + 23/9)
        x = x + 1183/25 *sin(8 *t + 49/27) + 202/17 *sin(10 *t + 52/19)
        x = x + 563/29 *sin(11 *t + 17/6) + 311/20 *sin(12 *t + 25/11)
        x = x + 215/19 *sin(14 *t + 99/31) + 97/12 *sin(15 *t + 173/43)
        x = x + 245/29 *sin(16 *t + 3/13) + 261/22 *sin(17 *t + 56/15)
        x = x + 306/25 *sin(19 *t + 8/3) + 128/21 *sin(20 *t + 8/21)
        x = x + 247/25 *sin(21 *t + 11/43) + 209/27 *sin(22 *t + 125/32)
        x = x + 97/27 *sin(23 *t + 71/35) + 115/18 *sin(24 *t + 125/29)
        x = x + 139/12 *sin(25 *t + 47/33) + 55/14 *sin(26 *t + 60/13)
        x = x + 18/7 *sin(27 *t + 75/17) + 92/19 *sin(28 *t + 29/15)
        x = x + 23/20 *sin(29 *t + 66/23) + 13/18 *sin(30 *t + 63/19)
        x = x + 127/22 *sin(31 *t + 101/28) + 144/29 *sin(32 *t + 1873/468)
        x = x + 101/26 *sin(33 *t + 64/19) + 21/13 *sin(34 *t + 112/27)
        x = x + 145/24 *sin(39 *t + 27/8) + 50/29 *sin(42 *t + 106/23)
        x = x + 58/37 *sin(43 *t + 51/23) + 12/25 *sin(44 *t + 337/75)
        x = x + 16/5 *sin(45 *t + 52/23) + 74/17 *sin(46 *t + 93/23)
        x = x + 54/25 *sin(47 *t + 323/81) + 114/31 *sin(48 *t + 20/17)
        x = x + 191/28 *sin(49 *t + 39/32) + 112/27 *sin(50 *t + 6/17)
        x = x + 13/6 *sin(55 *t + 37/8) + 40/23 *sin(65 *t + 25/29)
        x = x + 7/15 *sin(66 *t + 191/45) + 31/36 *sin(67 *t + 15/17)
        x = x + 14/25 *sin(68 *t + 9/14) + 3/13 *sin(70 *t + 23/35)
        x = x + 24/19 *sin(72 *t + 51/13) + 29/16 *sin(73 *t + 114/31)
        x = x + 25/14 *sin(74 *t + 61/19) + 31/47 *sin(75 *t + 102/47)
        x = x + 11/23 *sin(76 *t + 199/50) + 33/20 *sin(78 *t + 118/29)
        x = x + 13/9 *sin(79 *t + 74/19) + 7/19 *sin(80 *t + 41/13)
        x = x + 22/17 *sin(81 *t + 97/24) + 14/13 *sin(82 *t + 79/23)
        x = x + 3/2 *sin(83 *t + 71/18) + 14/19 *sin(84 *t + 31/11)
        x = x + 6/17 *sin(85 *t + 321/74) + 4/9 *sin(87 *t + 147/44)
        x = x + 28/57 *sin(88 *t + 104/29) + 16/27 *sin(91 *t + 59/13)
        x = x + 9/16 *sin(92 *t + 50/17) + 28/25 *sin(93 *t + 75/43)
        x = x + 8/7 *sin(94 *t + 35/36) + 150/151 *sin(95 *t + 17/26)
        x = x + 19/47 *sin(96 *t + 54/19) + 14/19 *sin(98 *t + 85/42)
        x = x + 13/33 *sin(99 *t + 3/2) + 16/23 *sin(100 *t + 30/19)
        x = x + 7/13 *sin(101 *t + 51/20) + 24/71 *sin(102 *t + 22/17)
        x = x + 4/29 *sin(103 *t + 43/23) + 27/40 *sin(104 *t + 67/23)
        x = x + 15/22 *sin(105 *t + 80/29) + 1/10 *sin(107 *t + 52/35)
        x = x + 3/5 *sin(108 *t + 63/16) + 21/32 *sin(109 *t + 44/13)
        x = x + 9/17 *sin(110 *t + 75/22) + 12/25 *sin(111 *t + 91/22)
        x = x + 2/3 *sin(112 *t + 193/42) + 10/23 *sin(113 *t + 93/25)
        x = x + 4/29 *sin(114 *t + 58/13) + 14/25 *sin(117 *t + 76/21)
        x = x + 15/31 *sin(118 *t + 96/37) + 9/25 *sin(119 *t + 19/15)
                
        y = -10/49 *sin(12/47 - 115 *t) - 1/7 *sin(53/44 - 114 *t)
        y = y - 11/26 *sin(3/7 - 108 *t) - 234/233 *sin(32/25 - 103 *t)
        y = y - 5/22 *sin(260/259 - 102 *t) - 14/25 *sin(37/25 - 99 *t)
        y = y - 7/18 *sin(23/20 - 97 *t) - 9/17 *sin(79/63 - 96 *t)
        y = y - 9/17 *sin(35/44 - 92 *t) - 9/10 *sin(23/17 - 91 *t)
        y = y - 68/137 *sin(1/6 - 85 *t) - 5/7 *sin(74/49 - 76 *t)
        y = y - 32/31 *sin(2/23 - 71 *t) - 8/15 *sin(27/40 - 70 *t)
        y = y - 2/5 *sin(74/49 - 69 *t) - 28/23 *sin(9/32 - 67 *t)
        y = y - 66/65 *sin(51/41 - 63 *t) - 17/14 *sin(26/51 - 59 *t)
        y = y - 69/59 *sin(13/10 - 53 *t) - 124/23 *sin(26/23 - 48 *t)
        y = y - 92/43 *sin(8/21 - 46 *t) - 10/19 *sin(2/7 - 45 *t)
        y = y - 37/17 *sin(6/25 - 41 *t) - 85/24 *sin(9/26 - 36 *t)
        y = y - 11/20 *sin(35/26 - 35 *t) - 35/23 *sin(20/13 - 34 *t)
        y = y - 210/41 *sin(4/21 - 33 *t) - 97/27 *sin(11/26 - 27 *t)
        y = y - 203/18 *sin(33/23 - 19 *t) - 225/14 *sin(5/18 - 15 *t)
        y = y - 356/27 *sin(19/14 - 13 *t) - 673/22 *sin(7/13 - 12 *t)
        y = y - 194/25 *sin(11/10 - 10 *t) - 83/3 *sin(23/16 - 9 *t)
        y = y - 411/16 *sin(29/30 - 4 *t) - 4575/47 *sin(41/27 - 3 *t)
        y = y + 4/5 *sin(80 *t) + 12497/30 *sin(t + 17/23)
        y = y + 837/16 *sin(2 *t + 41/9) + 1807/27 *sin(5 *t + 29/22)
        y = y + 127/21 *sin(6 *t + 26/53) + 727/16 *sin(7 *t + 67/56)
        y = y + 1018/15 *sin(8 *t + 94/29) + 338/17 *sin(11 *t + 76/25)
        y = y + 660/37 *sin(14 *t + 31/28) + 211/10 *sin(16 *t + 14/5)
        y = y + 367/19 *sin(17 *t + 55/54) + 307/31 *sin(18 *t + 38/11)
        y = y + 101/15 *sin(20 *t + 32/13) + 248/27 *sin(21 *t + 3/23)
        y = y + 1/6 *sin(22 *t + 101/23) + 197/18 *sin(23 *t + 92/25)
        y = y + 223/37 *sin(24 *t + 10/19) + 357/65 *sin(25 *t + 1/8)
        y = y + 251/33 *sin(26 *t + 117/34) + 62/23 *sin(28 *t + 94/23)
        y = y + 127/25 *sin(29 *t + 19/26) + 41/28 *sin(30 *t + 31/11)
        y = y + 31/18 *sin(31 *t + 11/39) + 37/16 *sin(32 *t + 41/12)
        y = y + 35/8 *sin(37 *t + 31/23) + 175/22 *sin(38 *t + 32/15)
        y = y + 283/94 *sin(39 *t + 61/24) + 25/8 *sin(40 *t + 95/22)
        y = y + 29/5 *sin(42 *t + 18/23) + 85/27 *sin(43 *t + 17/7)
        y = y + 21/11 *sin(44 *t + 35/8) + 133/40 *sin(47 *t + 103/23)
        y = y + 25/17 *sin(49 *t + 35/16) + 17/10 *sin(50 *t + 59/26)
        y = y + 127/23 *sin(51 *t + 43/13) + 44/21 *sin(52 *t + 31/22)
        y = y + 29/17 *sin(54 *t + 22/17) + 45/44 *sin(55 *t + 18/19)
        y = y + 21/16 *sin(56 *t + 29/36) + 36/17 *sin(57 *t + 90/37)
        y = y + 59/49 *sin(58 *t + 251/58) + 86/31 *sin(60 *t + 519/259)
        y = y + 79/43 *sin(61 *t + 66/25) + 1/2 *sin(62 *t + 191/52)
        y = y + 20/9 *sin(64 *t + 43/28) + 92/35 *sin(65 *t + 112/29)
        y = y + 11/16 *sin(66 *t + 108/29) + 1/4 *sin(68 *t + 71/17)
        y = y + 21/29 *sin(72 *t + 44/19) + 3/23 *sin(73 *t + 141/38)
        y = y + 3/14 *sin(74 *t + 9/7) + 26/15 *sin(75 *t + 3/7)
        y = y + 23/38 *sin(77 *t + 17/18) + 8/11 *sin(78 *t + 59/21)
        y = y + 17/20 *sin(79 *t + 37/23) + 91/46 *sin(81 *t + 3/8)
        y = y + 30/29 *sin(82 *t + 36/17) + 19/29 *sin(83 *t + 17/8)
        y = y + 1/7 *sin(84 *t + 133/30) + 11/19 *sin(86 *t + 61/18)
        y = y + 3/11 *sin(87 *t + 27/14) + 7/16 *sin(88 *t + 53/21)
        y = y + 20/17 *sin(89 *t + 46/29) + 11/54 *sin(90 *t + 29/16)
        y = y + 11/19 *sin(93 *t + 11/19) + 3/5 *sin(94 *t + 23/11)
        y = y + 5/23 *sin(95 *t + 65/23) + 16/21 *sin(98 *t + 132/29)
        y = y + 11/32 *sin(100 *t + 73/17) + 11/20 *sin(101 *t + 55/29)
        y = y + 7/18 *sin(104 *t + 75/29) + 3/23 *sin(105 *t + 213/107)
        y = y + 11/29 *sin(106 *t + 77/30) + 10/19 *sin(107 *t + 1/37)
        y = y + 3/8 *sin(109 *t + 11/3) + 20/33 *sin(110 *t + 55/21)
        y = y + 3/5 *sin(111 *t + 46/27) + 5/12 *sin(112 *t + 25/42)
        y = y + 15/38 *sin(113 *t + 33/19) + 8/15 *sin(116 *t + 37/46)
        y = y + 9/20 *sin(117 *t + 147/44) + 9/25 *sin(118 *t + 80/21)
        y = y + 2/7 *sin(119 *t + 83/18) + 1/8 *sin(120 *t + 53/12)
        
        if t = 0
           2d_poly_from  xc+x/4,yc-y/4
        else
           2d_poly_to xc+x/4,yc-y/4
        end_if        
    next t
    2d_flood xc,yc,200,100,20 : 2d_flood xc-10,yc+100,200,100,20    
END_SUB
rem ============================================================================
SUB Pi_(p)
    dim_local xc,yc,x,y,t,twopi,pas  
    xc = width_client(p)/2 : yc = height_client(p)/1.5 : twopi = 2*pi : pas = pi/180
    2d_target_is p
    radians
    for t = 0 to twopi step pas
        x = 17/31       * sin(235/57  - 32 * t)
        x = x + 19/17   * sin(192/55  - 30 * t)
        x = x + 47/32   * sin(69/25   - 29 * t)
        x = x + 35/26   * sin(75/34   - 27 * t)
        x = x + 6/31    * sin(23/10   - 26 * t)
        x = x + 35/43   * sin(10/33   - 25 * t)
        x = x + 126/43  * sin(421/158 - 24 * t)
        x = x + 143/57  * sin(35/22   - 22 * t)
        x = x + 106/27  * sin(84/29   - 21 * t)
        x = x + 88/25   * sin(23/27   - 20 * t)
        x = x + 74/27   * sin(53/22   - 19 * t)
        x = x + 44/53   * sin(117/25  - 18 * t)
        x = x + 126/25  * sin(88/49   - 17 * t)
        x = x + 79/11   * sin(43/26   - 16 * t)
        x = x + 43/12   * sin(41/17   - 15 * t)
        x = x + 47/27   * sin(244/81  - 14 * t)
        x = x + 8/5     * sin(79/19   - 13 * t)
        x = x + 373/46  * sin(109/38  - 12 * t)
        x = x + 1200/31 * sin(133/74  - 11 * t)
        x = x + 67/24   * sin(157/61  - 10 * t)
        x = x + 583/28  * sin(13/8    -  8 * t)
        x = x + 772/35  * sin(59/16   -  7 * t)
        x = x + 3705/46 * sin(117/50  -  6 * t)
        x = x + 862/13  * sin(19/8    -  5 * t)
        x = x + 6555/34 * sin(157/78  -  3 * t)
        x = x + 6949/13 * sin(83/27   -      t)
        x = x - 6805/54 * sin(2  * t  + 1/145)
        x = x - 5207/37 * sin(4  * t  + 49/74)
        x = x - 1811/58 * sin(9  * t  + 55/43)
        x = x - 63/20   * sin(23 * t  + 2/23)
        x = x - 266/177 * sin(28 * t  + 13/18)
        x = x - 2/21    * sin(31 * t  + 7/16)
        
        y = 70/37        * sin(65/32  - 32 * t)
        y = y + 11/12    * sin(98/41  - 31 * t)
        y = y + 26/29    * sin(35/12  - 30 * t)
        y = y + 54/41    * sin(18/7   - 29 * t)
        y = y + 177/71   * sin(51/19  - 27 * t)
        y = y + 59/34    * sin(125/33 - 26 * t)
        y = y + 49/29    * sin(18/11  - 25 * t)
        y = y + 151/75   * sin(59/22  - 24 * t)
        y = y + 52/9     * sin(118/45 - 22 * t)
        y = y + 52/33    * sin(133/52 - 21 * t)
        y = y + 37/45    * sin(61/14  - 20 * t)
        y = y + 143/46   * sin(144/41 - 19 * t)
        y = y + 254/47   * sin(19/52  - 18 * t)
        y = y + 246/35   * sin(92/25  - 17 * t)
        y = y + 722/111  * sin(176/67 - 16 * t)
        y = y + 136/23   * sin(3/19   - 15 * t)
        y = y + 273/25   * sin(32/21  - 13 * t)
        y = y + 229/33   * sin(117/28 - 12 * t)
        y = y + 19/4     * sin(43/11  - 11 * t)
        y = y + 135/8    * sin(23/10  - 10 * t)
        y = y + 205/6    * sin(33/23  -  8 * t)
        y = y + 679/45   * sin(55/12  -  7 * t)
        y = y + 101/8    * sin(11/12  -  6 * t)
        y = y + 2760/59  * sin(40/11  -  5 * t)
        y = y + 1207/18  * sin(21/23  -  4 * t)
        y = y + 8566/27  * sin(39/28  -  3 * t)
        y = y + 12334/29 * sin(47/37  -  2 * t)
        y = y + 15410/39 * sin(185/41 -      t)
        y = y - 596/17   * sin(9  * t +   3/26)
        y = y - 247/28   * sin(14 * t +  25/21)
        y = y - 458/131  * sin(23 * t +  21/37)
        y = y - 41/36    * sin(28 * t +    7/8)    
        if t = 0
           2d_poly_from  xc+x/5,yc-y/5
        else
           2d_poly_to xc+x/5,yc-y/5
        end_if
    next t
    2d_flood xc-50,yc,200,100,20
    2d_fill_color 255,255,255
END_SUB
rem ============================================================================
SUB Oiseau(p)
    dim_local pCount      : ' nombre de polygones
    dim_local jj          : ' nombre de côtés
    dim_local fx,fy       : ' coordonnées du point de départ du flood
    dim_local sx,sy       : ' coordonnées du point de départ du tracé
    dim_local x1,y1,x2,y2 : ' coordonnées du tracé du segment
    dim_local c1,c2       : ' Couleurs RGBA du contour et du remplissage
    dim_local i,j         : ' compteurs  
    2d_target_is p
    read pCount   : ' nombre de polygones
    for i  = 0 to pCount-1
        read jj : ' nombre de côtés
        read fx : read fy : ' coordonnées du point de départ du flood
        read c1 : read c2 : ' couleur du tracé et du remplissage
        read sx : read sy : ' coordonnées du point de départ du tracé
        x1 = sx : y1 = sy
        for j = 0 to jj-2
            read x2 : read y2 : ' coordonnées de la fin du segment
            couleura(c1) : ' déterminer les composantes r,g,b d'une couleur RGBA
            2d_pen_color r,g,b : 2d_line x1,y1+230, x2,y2+230  : ' tracer la ligne
            x1 = x2 : y1 = y2
        next j
        couleura(c1) : 2d_pen_color r,g,b : 2d_line x1,y1+230,sx,sy+230
        couleura(c2) : 2d_flood fx,fy+2+230,r,g,b
    next i
END_SUB
rem ============================================================================
' Procédure calculant les composantes r,g,b d'une valeur RGB
SUB couleur(rgb)
    r = int(rgb/65536)  
    g = int(mod(rgb,65536)/256)
    b = int(mod(rgb,256))    
END_SUB
rem ============================================================================
' Procédure calculant les composantes r,g,b d'une valeur RGBA
SUB couleura(rgba)
    Couleur(mod(rgba,65536*256))
END_SUB
rem ============================================================================
DATA  22  : ' numbre de polygones
DATA  20  : ' nombre de côtés
DATA  265, 52,4278190080,4285341221  : ' point de départ et couleur RGBA
DATA  254, 53, 268, 51, 280, 52, 292, 56, 300, 60, 302, 65, 302, 70, 301, 73, 301, 78, 299, 84, 300, 93, 294, 98, 287, 104, 276, 105, 266, 99, 258, 91, 254, 81, 256, 72, 256, 63, 254, 53
DATA  18  : ' nombre de côtés
DATA  254, 84,4278190080,4279964183
DATA  300, 92, 310, 91, 306, 98, 304, 108, 304, 116, 303, 120, 291, 118, 281, 115, 271, 111, 261, 107, 257, 102, 251, 95, 254, 81, 263, 97, 274, 103, 284, 103, 293, 99, 300, 92
DATA  10  : ' nombre de côtés
DATA  301, 61,4278190080,4293042610
DATA  300, 60, 313, 63, 325, 70, 331, 74, 318, 76, 313, 74, 308, 73, 304, 68, 302, 64, 300, 60
DATA  14  : ' nombre de côtés
DATA  303, 68,4278190080,4284359714
DATA  330, 73, 340, 79, 334, 81, 324, 80, 314, 80, 307, 80, 301, 79, 301, 75, 302, 69, 302, 66, 309, 72, 315, 74, 322, 74, 330, 73
DATA  9  : ' nombre de côtés
DATA  302, 80,4278190080,4284757821
DATA  301, 79, 299, 85, 303, 90, 311, 91, 323, 87, 338, 79, 326, 79, 314, 79, 301, 79
DATA  8  : ' nombre de côtés
DATA  279, 64,4278190080,4278453258
DATA  268, 69, 280, 63, 285, 64, 290, 69, 286, 74, 277, 76, 271, 72, 268, 69
DATA  15  : ' nombre de côtés
DATA  252, 55,4278190080,4289639121
DATA  254, 53, 236, 65, 238, 80, 233, 96, 232, 112, 254, 111, 270, 119, 284, 123, 303, 121, 280, 113, 262, 107, 249, 94, 255, 70, 255, 60, 254, 53
DATA  7  : ' nombre de côtés
DATA  234, 68,4278190080,4284509241
DATA  235, 66, 190, 118, 217, 115, 232, 112, 234, 94, 239, 77, 235, 66
DATA  13  : ' nombre de côtés
DATA  216, 115,4278190080,4281344028
DATA  190, 118, 151, 175, 126, 223, 113, 250, 94, 295, 92, 308, 123, 270, 178, 211, 212, 179, 226, 171, 234, 153, 219, 114, 190, 118
DATA  15  : ' nombre de côtés
DATA  249, 112,4278190080,4294237871
DATA  219, 114, 254, 111, 276, 121, 289, 123, 303, 121, 305, 131, 304, 154, 300, 175, 292, 191, 280, 194, 261, 185, 242, 176, 225, 172, 234, 153, 219, 114
DATA  25  : ' nombre de côtés
DATA  225, 172,4278190080,4284638274
DATA  226, 171, 244, 177, 257, 183, 275, 192, 281, 193, 291, 191, 273, 224, 257, 242, 241, 258, 225, 270, 213, 278, 195, 284, 179, 291, 172, 291, 164, 281, 165, 268, 156, 270, 150, 278, 150, 286, 141, 290
DATA  134,259, 145, 247, 186, 202, 212, 178, 226, 171
DATA  13  : ' nombre de côtés
DATA  133, 260,4278190080,4278386945
DATA  150, 282, 161, 296, 138, 305, 111, 330, 90, 353, 82, 364, 67, 371, 54, 383, 83, 337, 97, 301, 134, 258, 141, 289, 150, 282
DATA  8  : ' nombre de côtés
DATA  161, 269,4278190080,4284569447
DATA  150, 283, 150, 276, 156, 269, 165, 268, 164, 280, 174, 292, 164, 299, 150, 283
DATA  6  : ' nombre de côtés
DATA  172, 294,4278190080,4282529422
DATA  173, 293, 179, 303, 171, 310, 164, 308, 163, 298, 173, 293
DATA  28  : ' nombre de côtés
DATA  178, 303,4278190080,4283051284
DATA  164, 309, 160, 312, 157, 319, 157, 330, 173, 321, 176, 327, 177, 337, 182, 346, 182, 360, 177, 368, 175, 372, 185, 365, 190, 356, 186, 337, 190, 355, 179, 367, 177, 372, 186, 371, 192, 359, 193, 338
DATA  199, 351, 201, 353, 204, 345, 193, 328, 189, 316, 178, 302, 170, 311, 164, 309
DATA  20  : ' nombre de côtés
DATA  209, 279,4278190080,4287461209
DATA  210, 278, 244, 288, 260, 296, 268, 305, 269, 318, 266, 320, 258, 306, 258, 322, 255, 336, 250, 345, 245, 348, 248, 334, 250, 319, 244, 325, 245, 312, 235, 300, 220, 302, 224, 295, 195, 284, 210, 278
DATA  12  : ' nombre de côtés
DATA  171, 322,4278190080,4286282374
DATA  157, 328, 122, 346, 92, 363, 61, 386, 21, 413, 76, 415, 132, 375, 183, 349, 178, 338, 177, 329, 172, 321, 157, 328
DATA  10  : ' nombre de côtés
DATA  181, 350,4278190080,4282068014
DATA  78, 414, 94, 415, 133, 388, 160, 372, 175, 369, 181, 359, 183, 348, 158, 361, 132, 375, 78, 414
DATA  9  : ' nombre de côtés
DATA  231, 300,4278190080,4286933626
DATA  187, 312, 220, 301, 234, 299, 243, 310, 244, 324, 232, 329, 202, 339, 194, 329, 187, 312
DATA  12  : ' nombre de côtés
DATA  316, 287,4278190080,4282203216
DATA  256, 294, 319, 286, 356, 287, 399, 294, 415, 300, 414, 321, 367, 311, 325, 312, 298, 313, 267, 319, 269, 305, 256, 294
DATA  13  : ' nombre de côtés
DATA  259, 309,4278190080,4281279010
DATA  255, 334, 258, 306, 266, 318, 291, 313, 334, 310, 378, 312, 414, 322, 415, 341, 372, 328, 334, 324, 296, 328, 272, 331, 255, 334
DATA  7  : ' nombre de côtés
DATA  243, 324,4278190080,4278912518
DATA  200, 337, 244, 323, 249, 329, 246, 338, 202, 350, 202, 344, 200, 337
rem ============================================================================


Code édité pour ajouter l'auteur du poême


Dernière édition par papydall le Mar 7 Nov 2023 - 23:07, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Ne regrette pas de vieillir. Empty
MessageSujet: Re: Ne regrette pas de vieillir.   Ne regrette pas de vieillir. EmptyMar 7 Nov 2023 - 22:56

Merci Papydall !  cheers
Longue vie à toi aussi !
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Ne regrette pas de vieillir. Empty
MessageSujet: Re: Ne regrette pas de vieillir.   Ne regrette pas de vieillir. EmptyMar 7 Nov 2023 - 23:09

Merci Marc.

Longue vie à toi aussi.

REM : j'ai édité mon code ci-dessus pour ajouter le nom de ce beau poême.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Ne regrette pas de vieillir. Empty
MessageSujet: Re: Ne regrette pas de vieillir.   Ne regrette pas de vieillir. Empty

Revenir en haut Aller en bas
 
Ne regrette pas de vieillir.
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: