FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Calculatrice
par Minibug Aujourd'hui à 21:06

» EPP_V01 éditeur pour Panoramic
par Minibug Hier à 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Hier à 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Hier à 15:58

» Planétarium virtuel.
par Pedro Alvarez Hier à 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 I Love You

Aller en bas 
AuteurMessage
papydall

avatar

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

MessageSujet: I Love You   Mar 17 Oct 2017 - 16:56

Code:

rem ============================================================================
rem                Les Courbes paramétrées
rem                    Courbe du Coeur
rem ============================================================================
Picture 10 : full_space 10 : 2d_target_is 10 : color 10,150,100,150
alpha 20 : top 20,20 : left 20,140 : font_bold 20 : font_size 20,40
font_color 20,0,255,255 : color 20,150,100,150 : font_name 20,"arial"
alpha 30 : top 30,20 : left 30,250 : font_bold 30 : font_size 30,40
font_color 30,0,255,255 : color 30,150,100,150 : font_name 30,"arial"
alpha 40 : top 40,20 : left 40,420 : font_bold 40 : font_size 40,40
font_color 40,0,255,255 : color 40,150,100,150 : font_name 40,"arial"
caption 20,"I  L" : caption 30,"VE  Y" : caption 40,"U"
' ------------------------------------------------------------------------------
 Cardioide(230,40,1/7)  : 2d_flood 230,42,0,255,0255 : ' Le O de I LOVE
 Cardioide(400,40,1/7)  : 2d_flood 400,42,0,255,255  : ' Le O de YOU
' ------------------------------------------------------------------------------
 Cardioide(width_client(10)/2,150,1)
 Cardioide(100,020,1/8) : Cardioide(500,020,1/8)
 Cardioide(100,100,1/4) : Cardioide(500,100,1/4)
 Cardioide(100,200,1/3) : Cardioide(500,200,1/3)
 Cardioide(100,320,1/2) : Cardioide(500,320,1/2)
 
end
rem ============================================================================
' Tracé d'une cardioïde (courbe sous forme d'un coeur)
' xc,yc : coordonnées du creux de la cardioïde
' echelle : échelle de la courbe : agrandissement > 1; rapetissement < 1
SUB Cardioide(xc,yc,echelle)
    dim_local x,y,r,t
    r = 100    
    degrees : ' On travaille en °
    2d_pen_color 255,0,0
    2d_poly_from xc,yc  : ' origine du tracé
    for t = 1 to 360
        x = power(sin(t),3)          : ' Equation paramétrique ...
        y = cos(t) - power(cos(t),4) : ' ... de la cardioïde
        2d_poly_to xc + r * x * echelle,yc - r * y * echelle    
    next t
    2d_flood xc,yc+5,255,0,0         : ' Remplir la cardioïde
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude

avatar

Nombre de messages : 5643
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: I Love You   Mar 17 Oct 2017 - 18:43

Qu'est-ce qui t'arrive Papydall ! t'es amoureux Razz

drunken flower I love you
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc

avatar

Nombre de messages : 865
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: I Love You   Mar 17 Oct 2017 - 20:52


Bonjour à tous !

Merci Papydall !
C'est toujours un plaisir de lire tes sources.
C'est clair, c'est net, c'est précis, c'est bien documenté, bref, que du bonheur !

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: I Love You   Mer 18 Oct 2017 - 0:15

Pour Jean Claude : Je t'offre des papillons   tongue

Code:

rem ============================================================================
rem                Les Courbes paramétrées
rem                   Courbe du papillon
rem ============================================================================

picture 10 : full_space 10 : 2d_target_is 10 : color 10,50,100,50
2d_pen_color 255,0,255

 Papillon(width_client(10)/2,height_client(10)/2,1)
 Papillon(100,400,1/4) : Papillon(500,400,1/4)
 Papillon(100,250,1/3) : Papillon(500,250,1/3)
 Papillon(300,050,1/6) : Papillon(300,400,1/6)
caption 0,"Terminé"
end
rem ============================================================================
' xc,yc : coordonnées du centre du tracé
' echelle : échelle de la courbe : agrandissement > 1; rapetissement < 1
SUB Papillon(xc,yc,echelle)
    dim_local x,y,t,taille, p
    p = pi/180 : taille = 50
    2d_poly_from xc,yc
    for t = 0 to 24*pi step p
        x = sin(t) * (exp(cos(t)) -2*cos(4*t) - power(sin(t/12),5))
        y = cos(t) * (exp(cos(t)) -2*cos(4*t) - power(sin(t/12),5))
        2d_poly_to xc+taille*x*echelle,yc-taille*y*echelle : display
    next t
    2d_flood xc-5,yc-5,0,0,255 : 2d_flood xc+5,yc-5,0,0,255
  
END_SUB
rem ============================================================================


Pour Mark37 : quelques fougères

Code:

rem ============================================================================
rem                          Fougère de Barnsley
rem ============================================================================

dim x,y,a,c,i,x0,y0,maxiter
picture 10 : full_space 10 : 2d_target_is 10 : color 10,0,0,0 : 2d_pen_color 0,255,0

x0 = width(10)/10 : y0 = height(10)-20 : maxiter = 20000
for i = 1 to maxiter
    caption 0, str$(i) + " / " + str$(maxiter) + " ... <ESC> pour arrêter ..."
    a = rnd(100)
    if a <= 2
       c = 0.5 : y = 0.16*y : x = c : ' tige
    else
       if a <= 17
          c = -0.15*x+0.283*y+0.575
          y = 0.26*x+0.237*y-0.084 : x = c : ' (transformation 3)
       else
          if a <= 30
             c = 0.197*x-0.226*y+0.40
             y = 0.226*x+0.197*y+0.049 : x = c : ' (transformation 2)
          else
              c = 0.849*x+0.037*y+0.075
              y = -0.037*x+0.849*y+0.183 : x = c : ' (transformation 1)
          end_if
       end_if
    end_if

    2d_point x0+x*400,y0-y*400             : ' Fougère centrale
    2d_point x*100,(y+1)*100               : ' Forgère haut-gauche
    2d_point width(10)-100+x*100,(y+1)*100 : ' Fougère haut-droite
    2d_point x*100,400-y*100               : ' Fougère bas-gauche
    2d_point width(10)-100+x*100,400-y*100 : ' Fougère bas-droite
    display
    if scancode = 27 then terminate
next i
caption 0,"Terminé !"
rem ============================================================================



Pour les autres : Une dame, une maison et une voiture .

Code:

rem ============================================================================
rem              La Dame, La Maison, La Voiture
rem ============================================================================

full_space 0
picture 10 : full_space 10 : 2d_target_is 10 : color 10,92,128,128
La_Dame(200,50,0,100,50,1)
La_Dame(950,500,150,100,50,1/4)
La_Dame(10,10,255,0,0,1/2)
La_Dame(300,600,0,255,255,1/10)
La_Dame(600,100,255,255,0,1.5)

La_Maison(800,100,2)
La_Maison(100,600,1/2)
La_Maison(300,500,1/4)

La_Voiture(1200,500,1)
La_Voiture(350,600,0.1)
La_Voiture(800,600,1/2)
end
rem ============================================================================
SUB La_Dame(x,y,r,g,b,e)
    if x < 110*e then x = 110*e
    if y < 040*e then y = 40*e
    2d_fill_on : 2d_fill_color r,g,b : 2d_circle x,y,40*e
    2d_poly_from x-80*e,y+50*e
    2d_poly_to x+80*e,y+50*e : 2d_poly_to x+120*e,y+170*e
    2d_poly_to x+90*e,y+170*e : 2d_poly_to x+60*e,y+90*e
    2d_poly_to x+20*e,y+150*e : 2d_poly_to x+80*e,y+300*e
    2d_poly_to x+30*e,y+300*e : 2d_poly_to x+10*e,y+450*e
    2d_poly_to x-20*e,y+450*e : 2d_poly_to x-40*e,y+300*e
    2d_poly_to x-90*e,y+300*e : 2d_poly_to x-20*e,y+150*e
    2d_poly_to x-60*e,y+100*e : 2d_poly_to x-90*e,y+170*e
    2d_poly_to x-120*e,y+170*e : 2d_poly_to x-80*e,y+50*e
    2d_flood x+70*e,y+100*e,r,g,b
END_SUB
rem ============================================================================
rem ============================================================================
' x,y : Coordonnées du début du toit
' e   : Facteur d'aggrandissement / rapetissement
SUB La_Maison(x,y,e)
    2d_pen_color 0,0,255 : 2d_poly_from x+80*e,y+20*e
    2d_poly_to x+220*e,y+20*e : 2d_poly_to x+280*e,y+80*e
    2d_poly_to x+140*e,y+80*e : 2d_poly_to x+80*e,y+20*e
    2d_flood x+220*e,y+20*e+5,0,0,255
    2d_pen_color 100,50,20  : 2d_fill_color 100,50,20
    2d_rectangle x+140*e,y+80*e,x+270*e,y+170*e

    2d_pen_color 50,100,50 : 2d_poly_from x+87*e,y+27*e
    2d_poly_to x+140*e,y+80*e : 2d_poly_to x+140*e,y+170*e
    2d_poly_to x+30*e,y+170*e
    2d_poly_to x+30*e,y+80*e : 2d_poly_to x+87*e,y+27*e
    2d_flood x+30*e+10,y+80*e, 200,200,50

    2d_pen_color 0,0,0 : 2d_poly_from x+80*e,y+20*e
    2d_poly_to x+87*e,y+27*e : 2d_poly_to x+30*e,y+80*e
    2d_poly_to x+20*e,y+80*e : 2d_poly_to x+80*e,y+20*e
    2d_flood x+80*e,y+20*e+2,0,0,0
    2d_fill_color 0,0,0
    2d_rectangle x+20*e,y+170*e,x+280*e,y+180*e
    2d_rectangle x+170*e,y+90*e,x+240*e,y+155*e

    2d_fill_color 255,255,0
    2d_rectangle x+175*e,y+95*e,x+202*e,y+120*e  
    2d_rectangle x+208*e,y+95*e,x+235*e,y+120*e
    2d_rectangle x+175*e,y+125*e,x+202*e,y+150*e
    2d_rectangle x+208*e,y+125*e,x+235*e,y+150*e
    
    2d_fill_color 0,200,200 : 2d_rectangle x+60*e,y+80*e,x+110*e,y+170*e
    2d_fill_color 0,0,0     : 2d_rectangle x+195*e,y+15*e,x+205*e,y+30*e
    2d_poly_from x+200*e,y+10*e
    2d_poly_to x+210*e,y+15*e : 2d_poly_to x+190*e,y+15*e
    2d_poly_to x+200*e,y+10*e
    2d_flood x+200*e,y+10*e+2,0,0,0
    2d_fill_color 255,255,0 : 2d_circle x+100*e,y+120*e,5*e
    
    2d_fill_color 255,0,0
END_SUB
rem ============================================================================
SUB La_Voiture(x,y,e)
    if x < 0 then x = 0
    if y < 0 then y = 0
    if e > 1 then e = 1
    if e < .1 then e = .1
' Les roues
    2d_pen_color 0,0,255 : 2d_fill_color 0,0,255
    2d_circle x+50*e,y+120*e,20*e : 2d_circle x+200*e,y+120*e,20*e
' Le corps
    2d_pen_color 255,0,0 : 2d_fill_color 255,0,0
    2d_rectangle x+50*e,y+0*e,x+250*e,y+100*e
    2d_rectangle x+0*e,y+50*e,x+100*e,y+100*e
' Les fenêtres
    2d_pen_color 0,255,255 : 2d_fill_color 0,255,255
    2d_rectangle x+60*e,y+10*e,x+90*e,y+30*e
    2d_rectangle x+100*e,y+10*e,x+130*e,y+30*e
    2d_rectangle x+140*e,y+10*e,x+170*e,y+30*e
    2d_rectangle x+180*e,y+10*e,x+210*e,y+30*e
' Echappement
    2d_pen_color 0,0,0 : 2d_fill_color 0,0,0
    2d_rectangle x+250*e,y+80*e,x+280*e,y+90*e
' Fumée
    2d_circle x+290*e,y+70*e,10*e : 2d_circle x+300*e,y+50*e,8*e
END_SUB
rem ============================================================================



@ tous : Si vous désirez autre chose, faites vos demandes, mais n'espérez pas que j'y réponde sans faute !  king
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude

avatar

Nombre de messages : 5643
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: I Love You   Mer 18 Oct 2017 - 8:22

Bonjour à tous,

@Papydall,

Ces dessins 2D sous forme de SUB(s) sont très pratiques pour faire des animations.

Exemple la voiture:
Code:
rem ============================================================================
rem                            La Voiture
rem ============================================================================
dim n%,px%,py%
full_space 0
picture 10 : full_space 10 : 2d_target_is 10 : color 10,92,128,128
px%=screen_x : py%=0
for n%=1 to 100
    px%=px%-10 : py%=py%+3
    La_Voiture(px%,py%,0.1)
    pause 1
    2d_fill_on : 2d_fill_color 92,128,128 : 2d_pen_color 92,128,128
    2d_circle px%+29,py%+2,10
    2d_fill_off
next n%
    2d_fill_on : 2d_fill_color 92,128,128 : 2d_pen_color 92,128,128
    2d_circle px%+29,py%+2,30
    2d_fill_off
    La_Voiture(px%,py%,0.1)
end
rem ============================================================================
SUB La_Voiture(x,y,e)
    if x < 0 then x = 0
    if y < 0 then y = 0
    if e > 1 then e = 1
    if e < .1 then e = .1
' Les roues
    2d_pen_color 0,0,255 : 2d_fill_color 0,0,255
    2d_circle x+50*e,y+120*e,20*e : 2d_circle x+200*e,y+120*e,20*e
' Le corps
    2d_pen_color 255,0,0 : 2d_fill_color 255,0,0
    2d_rectangle x+50*e,y+0*e,x+250*e,y+100*e
    2d_rectangle x+0*e,y+50*e,x+100*e,y+100*e
' Les fenêtres
    2d_pen_color 0,255,255 : 2d_fill_color 0,255,255
    2d_rectangle x+60*e,y+10*e,x+90*e,y+30*e
    2d_rectangle x+100*e,y+10*e,x+130*e,y+30*e
    2d_rectangle x+140*e,y+10*e,x+170*e,y+30*e
    2d_rectangle x+180*e,y+10*e,x+210*e,y+30*e
' Echappement
    2d_pen_color 0,0,0 : 2d_fill_color 0,0,0
    2d_rectangle x+250*e,y+80*e,x+280*e,y+90*e
' Fumée
    2d_circle x+290*e,y+70*e,10*e : 2d_circle x+300*e,y+50*e,8*e
END_SUB
rem ============================================================================

Bravo et merci.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: I Love You   Mer 18 Oct 2017 - 13:53

Salut tout le monde.

@Jean Claude
Quand j’écrivais I Love You, ce qu’est justement …. I Love You

Revenons maintenant à l’animation.
Essaye de déplacer la voiture avec comme paramètre e = 0.5 ou e = 1 et tu verras que tu t’es tombé dans un piège comme un débutant. tongue

Une solution : ajouter 2d_clear au début de la SUB La_Voiture(x,y,e)
Ça résoudra le problème, mais ça provoquera un autre : on perd la couleur du fond du PICTURE.

L’emploi de la technique du double buffer résoudra d’une façon élégante le problème.
Je te laisse  faire car j’ai une douleur atroce à l’épaule droite et je n’aime pas trop torturer mon clavier : ça me fait vraiment très mal ! Crying or Very sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude

avatar

Nombre de messages : 5643
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: I Love You   Mer 18 Oct 2017 - 14:31

Non non ! pas de piège.

J'ai bien vu que j'étais obligé d'adapter "mon cache" en fonction de la taille de la bagnole (voiture en vrai français) Very Happy
C'est juste que je n'ai pas insisté, car je travaille sur autre chose et je ne voulais pas perdre trop de temps.

Je suis content que ta douleur soit à l'épaule droite car c'est moins préoccupant que si c'était la gauche (Risque d'infarctus du myocarde)
Mais je ne suis pas content que tu ais une douleur d'où qu'elle vienne.
Prend un antalgique, ça peut te soulager.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: I Love You   Mer 18 Oct 2017 - 14:50

Merci Jean Claude pour le conseil.

Parce que I Love You, je poste une fois de plus ce code (je l'ai déjà posté : où et quand, je n'en sais trop)

Code:

rem ============================================================================
rem         A N I M A T I O N
rem           PAR PAPYDALL
rem ============================================================================

Init()
Anim()
Terminer()

END
REM ============================================================================
SUB Init()
    dim p,xh,xc,xr,xs,x,y,x1,x3,xfr,v
    color 0,100,50,20
    full_space 0 : picture 10 : width 10,920 : height 10,600
    top 10,(height(0) - height(10))/2 : left 10,(width(0) - width(10))/2
    color 10,0,255,255 : 2d_target_is 10 : print_target_is 10 : hide 10
    font_color 10,255,0,0 : font_bold 10 : font_size 10,8
    caption 0,"ANIMATION PAR PAPYDALL ...."
    v = 10 : ' vitesse du mouvement des engins à modifier
    alpha 15 : top 15,50 : left 15, left(10) + 300 : font_bold 15 : font_name 15,"tahoma"
    font_size 15,20 : font_color 15,255,255,0
    caption 15,"<ESC> pour arrêter ...."
    image 20
END_SUB
REM ============================================================================
SUB Anim()
    for p = 1 to 10000
        Landscap()
        Building()
        Fred_House()
        Panoramic()
        Rita_Shop()
        Scool_Car()
        Papydall()
        Sidney_Car()
        MR()
        Ambulance()
        Trains()
        Snow_Man()
        image_recopy()
        if scancode = 27 then exit_sub
    next p
END_SUB
REM ============================================================================
SUB Landscap()
    2d_fill_on : 2d_fill_color 000,255,255 : 2d_rectangle 0,0,920,600
    2d_fill_on : 2d_fill_color 220,220,255 : 2d_rectangle 0,300,920,600
    2d_pen_color 220,220,220
    2d_circle 000,300,150 : 2d_circle 050,300,170 : 2d_circle 100,300,090
    2d_circle 200,300,050 : 2d_circle 230,300,100 : 2d_circle 300,300,060
    2d_circle 430,300,120 : 2d_circle 500,300,060 : 2d_circle 630,300,090
    2d_circle 700,300,070 : 2d_circle 770,300,070 : 2d_circle 850,300,050
    2d_circle 880,300,040
    2d_fill_color 128,128,128 : 2d_rectangle 0,350,920,400
    
END_SUB
REM ============================================================================
SUB Building()

    2d_fill_color 164,164,164
    2d_pen_color 164,164,164 : 2d_rectangle 500,70,600,320

    2d_fill_color 0,0,128 : 2d_pen_color 0,0,128
    For x = 510 to 570 step 30
        For y = 80 to 290 step 30 : 2d_rectangle x,y,x+20,y+20 : next y
    next x
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_rectangle 570,260,590,320
END_SUB
REM ============================================================================
SUB Fred_House()

    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 700,250,800,350
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_rectangle 740,300,765,350
    2d_fill_color 128,0,0 : 2d_pen_color 128,0,0
    2d_rectangle 775,200,800,250
    if p = 1 then xh = 1
    if xh > 80 then xh = 1
    xh = xh + 2.5
    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 700,250,800,350
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_rectangle 740,300,765,350
    2d_fill_color 128,0,0 : 2d_pen_color 128,0,0
    2d_rectangle 775,200,800,250
    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_circle 785,195-xh,5    : 2d_circle 800,195-xh,4  : ' fummée
    2d_circle 790,195-xh,3    : 2d_circle 780,195-xh,2  : ' fummée
END_SUB
REM ============================================================================
SUB Panoramic()
    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_Rectangle 0,240,150,340
    2d_fill_color 0,0,255 : 2d_pen_color 0,0,255
    2d_Rectangle 20,280,90,330
    2d_fill_color 255,102,0 : 2d_pen_color 255,102,0
    2d_Rectangle 110,270,130,330
    2d_fill_color 0,255,0 : 2d_pen_color 0,255,0
    2d_rectangle 20,220,105,240
    2d_fill_color 255,255,0 : 2d_pen_color 255,255,0
    2d_rectangle 103,220,143,240

    print_locate 20,220 : print "  Panoramic's bar  "
END_SUB
REM ============================================================================
SUB Rita_Shop()
    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_Rectangle 170,240,320,340
    2d_fill_color 0,0,255 : 2d_pen_color 0,0,255
    2d_Rectangle 190,280,260,330
    2d_fill_color 255,102,0 : 2d_pen_color 255,102,0
    2d_Rectangle 270,280,290,340
    2d_fill_color 0,255,0 : 2d_pen_color 0,255,0
    2d_rectangle 180,220,310,240

    print_locate 190,220 : print " Rita's Deals"
    print_locate 205,245 : print "Cupcakes"

END_SUB
REM ============================================================================
SUB Papydall()

    if p = 1 then xc = 100
    xc = xc +  .5*v
    if xc > 1000 then xc = 0
    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 910-xc,270+y,970-xc,290+y
    2d_rectangle 930-xc,230+y,1090-xc,290+y

    2d_fill_color 0,128,128 : 2d_pen_color 0,128,128
    2d_rectangle 935-xc,250+y,1075-xc,270+y

    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    print_locate 970-xc,230+y : print "Papydall "
    2d_circle 925-xc,290+y,10 : 2d_circle 1050-xc,290+y,10

    2d_fill_color 128,128,0   : 2d_pen_color 128,128,0
    2d_circle 980-xc,260+y,5  : 2d_circle 970-xc,260+y,5
    2d_circle 990-xc,260+y,5  : 2d_circle 1000-xc,260+y,5
    2d_circle 1010-xc,260+y,5 : 2d_circle 1030-xc,260+y,5
    2d_circle 945-xc,260+y,5

    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
END_SUB
rem ============================================================================

SUB Scool_Car()
    if p = 1 then xr = 0
    xr = xr +  1*v
    if xr > 1000 then x = 0
    y = 60
    2d_fill_color 255,255,0 : 2d_pen_color 255,255,0
    2d_rectangle 910-xr,270+y,970-xr,290+y
    2d_rectangle 930-xr,230+y,1000-xr,290+y

    print_locate 935-xr,230+y : print "Scool"
    2d_fill_color 0,128,128 : 2d_pen_color 0,128,128
    2d_rectangle 935-xr,250+y,995-xr,270+y
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 925-xr,290+y,10 : 2d_circle 990-xr,290+y,10
END_SUB
REM ============================================================================
SUB Sidney_Car()
    if p = 1 then x1 = 0
    x1 = x1 +  1.5*v
    if x1 > 1200 then x1 = 0
    2d_fill_color 0,0,128 : 2d_pen_color 0,0,128
    2d_rectangle 910-x1,270+y,970-x1,290+y
    2d_rectangle 930-x1,260+y,970-x1,280+y
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 925-x1,290+y,10 : 2d_circle 955-x1,290+y,10
END_SUB
REM ============================================================================
SUB MR()
    if p = 1 then x3 = 90
    x3 = x3 + 1.1*v : y = 60
    if x3 > 1000 then x3 = 0

    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 910-x3,270+y,970-x3,290+y
    2d_rectangle 930-x3,230+y,1000-x3,290+y

    2d_fill_color 0,128,128 : 2d_pen_color 0,128,128
    2d_rectangle 935-x3,250+y,995-x3,270+y

    2d_fill_color 255,255,0 : 2d_pen_color 255,255,0
    print_locate 935-x3,230+y : print "  MR 123 "
    2d_circle 925-x3,290+y,10 : 2d_circle 990-x3,290+y,10
END_SUB
REM ============================================================================
SUB Snow_Man()
    y = 300
    2d_fill_color 255,255,255 : 2d_pen_color 255,255,255
    2d_circle 100,230+y,50 : 2d_circle 100,150+y,45 : 2d_circle 100,70+y,40
    2d_fill_color 255,255,0 : 2d_pen_color 0,0,0 : 2d_circle 90,60+y,5
    if sin(p/150) < .98 then 2d_circle 110,60+y,5
    2d_circle 100,85+y,5 : 2d_circle 110,85+y,5 : 2d_circle 90,85+y,5
    2d_circle 080,80+y,5 : 2d_circle 120,80+y,5
    print_locate 75,145+y : print "BONJOUR"
    print_locate 70,225+y : print "VISITEUR"
END_SUB
REM ============================================================================
SUB Trains()
    if p = 1 then xfr = 0
    xfr = xfr + 1*v
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    if xfr > 1000 then xfr = -200
    2d_rectangle 10+xfr,280,40+xfr,340
    2d_fill_color 255,102,0 : 2d_pen_color 255,102,0
    2d_rectangle 10+xfr,315,130+xfr,365
    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_circle 70+xfr,380,15 : 2d_circle 110+xfr,380,15 : 2d_circle 35+xfr,380,15
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 70+xfr,380,5 : 2d_circle 110+xfr,380,5 : 2d_circle 35+xfr,380,5
    2d_rectangle xfr-30,340,10+xfr,350
    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle xfr-100,315,xfr-25,365
    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_circle xfr-80,380,15 : 2d_circle xfr-40,380,15
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle xfr-80,380,5 : 2d_circle xfr-40,380,5

    if xfr > 250 then x = 0
    2d_rectangle 230+xfr,260,250+xfr,320
    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 210+xfr,315,330+xfr,365

    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 270+xfr,370,15 : 2d_circle 310+xfr,370,15 : 2d_circle 235+xfr,370,15
    2d_fill_color 255,255,0  : 2d_pen_color 255,255,0
    2d_circle 270+xfr,370,5  : 2d_circle 310+xfr,370,5  : 2d_circle 235+xfr,370,5

END_SUB

REM ============================================================================
SUB Ambulance()
    if p = 1 then xs = 200
    y = 65 : xs = xs + 2.5*v
    if xs > 1200 then xs = -250

    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_circle 965-xs,225+y,8

    2d_fill_color 164,164,164 : 2d_pen_color 164,164,164
    2d_rectangle 910-xs,270+y,970-xs,290+y
    2d_rectangle 930-xs,230+y,1000-xs,290+y

    2d_fill_color 0,128,128 : 2d_pen_color 0,128,128
    2d_rectangle 935-xs,250+y,995-xs,270+y

    print_locate 935-xs,230+y : print "Ambulance"
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 925-xs,290+y,10 : 2d_circle 990-xs,290+y,10

    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_circle 650-xs,225+y,10
    2d_fill_color 255,255,255 : 2d_pen_color 255,255,255
    2d_rectangle 610-xs,270+y,670-xs,290+y
    2d_rectangle 630-xs,230+y,700-xs,290+y
    2d_fill_color 255,0,0 : 2d_pen_color 255,0,0
    2d_rectangle 650-xs,250+y,680-xs,260+y

    2d_rectangle 660-xs,240+y,670-xs,270+y
    2d_fill_color 0,0,0 : 2d_pen_color 0,0,0
    2d_circle 625-xs,290+y,10 : 2d_circle 690-xs,290+y,10

END_SUB
REM ============================================================================
' Pour éviter le scintillement
SUB image_recopy()
   2d_target_is 10 : 2d_image_copy 20,0,0,width(10),height(10)
   2d_target_is 0  : 2d_image_paste 20,left(10),top(10)
   2d_target_is 10
END_SUB
rem ============================================================================
SUB Terminer()
    dim_local i
    for i = height(0) to 50 step -10
        height 0,i : pause 100
    next i
    terminate
END_SUB
rem ============================================================================


Jean Claude a écrit:
... je travaille sur autre chose ...

Bonne continuation ... sunny
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude

avatar

Nombre de messages : 5643
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: I Love You   Mer 18 Oct 2017 - 17:16

Ah oui ! là ça circule beaucoup devant le bureau de Panoramic.

Je ne me rappelle pas avoir vu ce code avant, mais ça peut arriver que je l'ai zapper.

En tout cas, ça démontre bien que tes dessins sous forme de SUB(s) peuvent servir pour des animations sans utiliser un SCENE2D, ni de SPRITE.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc

avatar

Nombre de messages : 865
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: I Love You   Mer 18 Oct 2017 - 22:00

Bonsoir à tous !

Merci Papydall !
Sais-tu comment dessiner un ballon ?


Je pensais dessiner un oeuf puis ajouter une queue.
Qu'en penses-tu ?

Bonne soirée à tous !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: I Love You   Jeu 19 Oct 2017 - 0:58

Marc37 a écrit:
Sais-tu comment dessiner un ballon ?

Pas vraiment ! Embarassed

Mais je sais comment tracer une Quartique Piriforme : courbe sous forme de poire.
Voici le code et c’est à toi d’ajouter la queue. Wink

Code:

rem ============================================================================
rem                Les Courbes paramétrées
rem                  QUARTIQUE PIRIFORME
rem               Courbe sous forme de Poire
rem
rem        __________________________________
rem       |                                  |
rem       |  x = a*a/b * (1 + sin(t))*cos(t) |
rem       |  y = a*(1 + sin(t))              |
rem       |__________________________________|

rem ============================================================================

Picture 10 : full_space 10 : 2d_target_is 10


Quartique_Piriforme(100,420,1/2)
Quartique_Piriforme(200,420,1)
Quartique_Piriforme(400,420,2)

end
rem ============================================================================
SUB Quartique_Piriforme(xc,yc,echelle)
    dim_local a,b,x,y,t
    a = 100 : b = 2*a : ' Essayer avec b = 3*a ; b = 4*a , etc.
    degrees    
    2d_poly_from xc+(a*a/b)*echelle,yc - a*echelle
    for t = 0 to 360      
        x = a*a/b * (1 + sin(t))*cos(t)
        y = a*(1 + sin(t))
        2d_poly_to xc+x*echelle, yc-y*echelle
    next t
    2d_flood xc-2+(a*a/b)*echelle,yc- a*echelle,255,0,0
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
papydall

avatar

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

MessageSujet: Re: I Love You   Jeu 19 Oct 2017 - 1:58

Et voici l’ovoïde : courbe sous forme d’œuf.

Code:

rem ============================================================================
rem           Courbe en coordonnées polaire
rem                      OVOIDE
rem Equation polaire :
rem       __________________________
rem      |                          |
rem      |  r = a * power(cos(t),3) |
rem      |__________________________|
rem
rem ============================================================================

Picture 10 : full_space 10 : 2d_target_is 10
Ovoide(300,420,2)
Ovoide(100,220,1)
Ovoide(100,350,1/2)
Ovoide(100,400,1/8)

end
rem ============================================================================
' xc,yc : coordonnées de la pointe basse de l'ovoïde
SUB Ovoide(xc,yc,echelle)
    dim_local a,x,y,t,r
    a = 200
    degrees
    2d_poly_from xc,yc
    for t = 0 to 360
        r = a*power(sin(t),3)        
        x = r*cos(t)
        y = r*sin(t)
        2d_poly_to xc+x*echelle,yc-y*echelle
    next t
    2d_flood xc,yc-2,250,200,50
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Marc

avatar

Nombre de messages : 865
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: I Love You   Jeu 19 Oct 2017 - 10:10


Merci Papydall !

Je vais donc ajouter une queue à l’œuf pour mes essais.

Très bonne journée à tous !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: I Love You   Jeu 19 Oct 2017 - 15:25

Jolie ton animation papydall, je me souviens effectivement l'avoir déjà vue autrefois.
Ce qui est très étonnant, c'est sa fluidité, quand on voit le nombre d'opérations graphiques effectuées !
La méthode utilisée est vraiment à étudier de près.

J'ai ajouté quelques pixels aux coordonnées y des bâtiments pour qu'ils soient au niveau du sol (subs Building, Panoramic, Rita_Shop), sinon ils sont suspendus en l'air. Mais ce n'est vraiment qu'un détail, chapeau pour l'animation.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 559
Age : 49
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: I Love You   Sam 21 Oct 2017 - 15:51

Bonjour Papydall
Si mon fils en 1°S pouvait être aussi amoureux des maths que toi!
Heureusement chacun doit trouver sa voie.
Merci pour tes animations
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: I Love You   Sam 21 Oct 2017 - 18:22

L’essentiel c’est qu’il fasse ce qu'il lui plait, dans ce qu’il se sent à l’aise.
Il n’y a pas que les maths dans la vie !
C’est vrai que je suis amoureux (de ma femme évidemment) comme l’a si bien dit Jean Claude et aussi des maths.
Mon amour pour les maths, c’était pour défier  mon professeur, suite à une punition qu’il m’avait injustement infligée.
Mais bon ce n’était pas une histoire drôle.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: I Love You   

Revenir en haut Aller en bas
 
I Love You
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Love pub souhaite se lier a Zone Pub [accepté]
» [JOB] We Love Motion recherche un Monteur vidéo
» [Cross] Obscure Love
» Une chanson ayant pour refrain "free love it"
» LOVE ME LIKE YOU DO. depuis le 16 mars 2015.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les inutilitaires-
Sauter vers: