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
» un nouveau editeur panobasic
par Jean Claude Aujourd'hui à 10:18

» Compilateur FBPano
par jean_debord Aujourd'hui à 10:07

» Le compilateur.
par Pedro Alvarez Aujourd'hui à 8:36

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Jack Hier à 20:23

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Hier à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Hier à 19:58

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Une dentelle fantaisie

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Une dentelle fantaisie   Ven 22 Mai 2015 - 17:07

Voici une dentelle assez spéciale !
Pour voir les fantaisies, lancez le programme plusieurs fois ...

Code:
REM =========================================================
REM  Auteur: Parpaiun
REM  Date-version: 22/05/2015
REM      d après <Art trigono-plastique> de Bern-Art Bonbon
REM
REM =========================================================
REM
caption 0,"DENTELLES FANTAISIE"
dim a,ag,b,c,cs,cx,cy,d,e,ex,ey,f,h,i,j,k,mr,n,n2,r,rad,r$,s,ss,sw,u,v
height 0,985 : width 0,985
label debut,init,bordure,boucle
n=20   :' nombre de branches doubles par niveau
n2=n*2
dim x(n2),y(n2)
ag=360/n : rad=acos(-1)/180
cs=cos(ag*rad):ss=sin(ag*rad)
cx=485:cy=475   :' centre de la figure
f=1   :' facteur d'agrandissement/réduction de l'image
debut:
 k=20:c=0:d=0
 sw = sw + 1: if sw > 5 then sw = 1
 cls
  init:
   for i=1 to n2: x(i)=0: y(i)=0: next i
    boucle:
     k = k - 1: if k<6 then k=6
     select sw
      case 1
       h=(rnd(k*1.5)-5)*2 : v=(rnd(k*1.5)-5)*2
       u=190
      case 2
       h=int(rnd(k)-2)*2 : v=int(rnd(k)-2)*2
       u=210
      case 3
       h=int(rnd(k)*3)-int(rnd(k)*2) : v=int(rnd(k)*3)-int(rnd(k)*2)
       u=90
      case 4
      h=int(rnd(k)-3)*2-int(rnd(k)-2)*2 : v=int(rnd(k)-3)*2-int(rnd(k)-2)*2
      u=100
      case 5
      h=int(rnd(k*0.9)-2.5)*2 : v=int(rnd(k*0.9)-2.5)*2
      u=300
END_SELECT
2D_POLY_FROM cx+x(1)*f,cy+y(1)*f
 x(1)=x(1)+h : y(1)=y(1)+v
 d=d+1: if d<100 then goto init
 c=c+1: if c>u then goto bordure
2D_POLY_TO cx+x(1)*f,cy+y(1)*f

REM ===========================================
2D_POLY_FROM cx+x(n+1)*f,cy+y(n+1)*f
 x(n+1)=x(1) : y(n+1)=-1*y(1)
2D_POLY_TO cx+x(n+1)*f,cy+y(n+1)*f

REM ===========================================
for i=2 to n
 2D_POLY_FROM cx+x(i)*f,cy+y(i)*f
  x(i)=x(i-1)*cs-y(i-1)*ss
  y(i)=x(i-1)*ss+y(i-1)*cs
 2D_POLY_TO cx+x(i)*f,cy+y(i)*f
 
 REM ==========================================
 2D_POLY_FROM cx+x(i+n)*f,cy+y(i+n)*f
  x(i+n)=x(i+n-1)*cs-y(i+n-1)*ss
  y(i+n)=x(i+n-1)*ss+y(i+n-1)*cs
 2D_POLY_TO cx+x(i+n)*f,cy+y(i+n)*f
rem  for j=1 to 50000: next j
next i
goto boucle
'
bordure:
 ex=cx+x(i-1+n): ey=cy+y(i-1+n)
 r=sqr((cx-ex)*(cx-ex)+(cy-ey)*(cy-ey)) : r=int(r)
'  Comment empêcher le cercle de bordure d'escamoter l'image ?
 REM  2D_CIRCLE cx,cy,r

 END
A la dernière ligne de ce programme, j'ai rencontré un problème très agaçant qui ne se voit pas dans le GFA Basic ! Il s'agit d'un cercle de bordure qui escamote la dentelle. Très très fâcheux pour moi  !!!  Avez vous une solution pour ça , s'il vous plaît ? Merci !    
Comme toujours, les amis,  faites ce que vous voulez avec ce programme !    lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Une dentelle fantaisie   Ven 22 Mai 2015 - 19:17

Salut Parpaiun

Très beau dessin comme toujours.
Pour le petit problème du cercle de bordure qui escamote la dentelle, c’est parce que le tracé d’un cercle en Panoramic ne fait pas uniquement de tracer le pourtour du cercle, mais le disque du cercle, donc forcement, ça efface ce qui était dessiné en dessous.
Bon, je sais que je ne  sais pas bien expliquer les choses, mais pour contourner le problème, tu peux tracer ton cercle point par point comme ceci

Code:
 bordure:
 ex=cx+x(i-1+n): ey=cy+y(i-1+n)
 r=sqr((cx-ex)*(cx-ex)+(cy-ey)*(cy-ey)) : r=int(r)
'  Comment empêcher le cercle de bordure d'escamoter l'image ?
'  2D_CIRCLE cx,cy,r
2d_poly_from cx+r,cy
for i = 0 to 360
    2d_poly_to cx+r*cos(i*rad),cy+r*sin(i*rad)
next i


PS : Tu sais ce que je pense de GOTO, donc No Comment! Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Une dentelle fantaisie   Ven 22 Mai 2015 - 20:14

Tout à fait Papydall t'a répondu et a donné une astuce pour tracer le tour.
Je suis parti sur l'autre solution qui est de dire que l'on ne veut pas que le remplissage se fasse.
J'ai également modifié un peu le programme qui marchait très bien mais qui dépasse la taille de mon écran de portable (ben oui désolé, je travail sur un portable avec un écran large mais avec seulement 800 en hauteur).

Ma version réduit donc l'image. (J'a irepensé qu'après avoir modifié à f qui m'aurait éviter d'avoir à modifier le code ...)

Elle retire aussi le remplissage du cercle et j'ai modifié le calcul du rayon car chez moi, le rayon était souvent plus petit et certains points étaient à l'exterieur du cercle

Code:
REM =========================================================
REM  Auteur: Parpaiun
REM  Date-version: 22/05/2015
REM      d après <Art trigono-plastique> de Bern-Art Bonbon
REM
REM =========================================================
REM
caption 0,"DENTELLES FANTAISIE"
dim a,b,c,d,e,h,i,j,k,mr,n,r,r$,s,sw,u,v, ymin
height 0,750 : width 0,750
label debut,init,bordure,boucle
n=16  :' nombre de branches doubles par niveau
dim x(n*2),y(n*2)
dim ag  : ag =360/n
dim rad : rad=acos(-1)/180
dim cs, ss : cs=cos(ag*rad):ss=sin(ag*rad)
dim cx, cy : cx=(width(0)-50)/2:cy=(height(0)-50)/2  :' centre de la figure
    ymin = cy
dim f : f=0.8  :' facteur d'agrandissement/réduction de l'image
debut:
 k=18:c=0:d=0
 sw = sw + 1: if sw > 5 then sw = 1
 cls
  init:
  for i=1 to (n*2): x(i)=0: y(i)=0: next i
    boucle:
    k = k - 1: if k<6 then k=6
    select sw
      case 1 : h=(rnd(k*1.5)-5)*2 : v=(rnd(k*1.5)-5)*2 : u=190
      case 2 : h=int(rnd(k)-2)*2 : v=int(rnd(k)-2)*2  : u=210
      case 3 : h=int(rnd(k)*3)-int(rnd(k)*2) : v=int(rnd(k)*3)-int(rnd(k)*2) :  u=90
      case 4 : h=int(rnd(k)-3)*2-int(rnd(k)-2)*2 : v=int(rnd(k)-3)*2-int(rnd(k)-2)*2 : u=100
      case 5 : h=int(rnd(k*0.9)-2.5)*2 : v=int(rnd(k*0.9)-2.5)*2  : u=300
END_SELECT
2D_POLY_FROM cx+x(1)*f,cy+y(1)*f
 x(1)=x(1)+h : y(1)=y(1)+v
 d=d+1: if d<100 then goto init
 c=c+1: if c>u then goto bordure
2D_POLY_TO cx+x(1)*f,cy+y(1)*f

REM ===========================================
2D_POLY_FROM cx+x(n+1)*f,cy+y(n+1)*f
 x(n+1)=x(1) : y(n+1)=-1*y(1)
2D_POLY_TO cx+x(n+1)*f,cy+y(n+1)*f

REM ===========================================
for i=2 to n
 2D_POLY_FROM cx+x(i)*f,cy+y(i)*f
  x(i)=x(i-1)*cs-y(i-1)*ss
  y(i)=x(i-1)*ss+y(i-1)*cs
 2D_POLY_TO cx+x(i)*f,cy+y(i)*f

 REM ==========================================
 2D_POLY_FROM cx+x(i+n)*f,cy+y(i+n)*f
  x(i+n)=x(i+n-1)*cs-y(i+n-1)*ss
  y(i+n)=x(i+n-1)*ss+y(i+n-1)*cs
 2D_POLY_TO cx+x(i+n)*f,cy+y(i+n)*f
 if (cy+y(i+n))*f < ymin then ymin = (cy+y(i+n))*f
 next i
goto boucle

'
bordure:
 r=cy - int(ymin) - 67
'  Comment empêcher le cercle de bordure d'escamoter l'image ?
2D_fill_off : 2D_pen_width 3 : 2D_CIRCLE cx,cy,r

 END
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Une dentelle fantaisie   Ven 22 Mai 2015 - 20:31

Salut tous le monde !

Bravo Parpaiun pour cette belle dentelle ! (Huuummmm la dentelle...)

@Jicehel :
Pas mal cette inscruction '2D_fill_off', mais tu la sort d'ou ??? drunken
Elle est même pas référencé dans la doc en ligne... scratch scratch

Il faudra dire a Jack de mettre a jour la doc dans sa todo liste.
Le pauvre, on le laissera jamais tranquille. Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Une dentelle fantaisie   Ven 22 Mai 2015 - 20:35

On en a parlé il n'y a pas longtemps. Ca existe depuis la version instantanée de juillet 2014 il me semble.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Une dentelle fantaisie   Ven 22 Mai 2015 - 20:40

Merci pour l'info Jicehel.

C'est noté.
Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Une dentelle fantaisie   Ven 22 Mai 2015 - 23:20

Voici une copie de l'annonce d'une des  versions instantanées:
Citation :
Version instantanée du 16 décembre 2014 : PANORAMIC V 0.9.26i3

NUMBER_ACTIVATE : numéro du dernier objet (FORM) activé
NUMBER_SHOW : numéro du dernier objet (FORM) visible

TRIGGER_CLICK N : simule un événement ON_CLICK sur l'objet système numéro N

2D_FILL_ON : à leur création, les formes 2D_CIRCLE et 2D_RECTANGLE sont remplies avec la couleur 2D_FILL_COLOR
2D_FILL_OFF : à leur création, les formes 2D_CIRCLE et 2D_RECTANGLE sont transparentes

ARCHIVER_ON : démarre l'archiveur
ARCHIVER_ADD D$, F$ : archive le contenu du répertoire D$ dans le fichier F$
ARCHIVER_EXTRACT F$, D$ : extrait le fichier archive F$ dans le répertoire D$. Attention, D$ doit exister.
ARCHIVER_OFF : arrête l'archiveur

exemple d'archivage :

Code:
   rem archives directory source into file fff.zip
   ARCHIVER_ON
   ARCHIVER_ADD "source", fff.zip
   ARCHIVER_OFF


exemple d'extraction :

Code:
   rem extracts file fff.zip into directory dest
   DIR_MAKE "dest"
   ARCHIVER_ON
   ARCHIVER_EXTRACT fff.zip, "dest"
   ARCHIVER_OFF



Correction de bugs :
appel d'un SUB avec chaine de caractère possédant le caractère = (égal)
DELETE et ON_CLICK étaient inefficaces sur un SCENE2D

Je te suggère de te constituer un fichier texte dans lequel tu pourrais copier toutes ces annonces des versions instantanées, jusqu'à ce qu'elles soient remplacées par la prochaine version officielle.

Voici le mien:
Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Revue du sujet   Sam 23 Mai 2015 - 1:07

Merci Klaus pour ces nouvelles fonctions Panoramic de 2014. Mais, à mon étonnement, la fonction 2D_FILL_OFF introduite à côté de "2D_CIRCLE x,y" dans mon programme a donné le message : "Not correct expression. line: 66". Cette première fonction n'est pas rendue opérationnelle il me semble ! Pourquoi ? Question Question Question
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Revue du sujet   Sam 23 Mai 2015 - 1:17

Merci à Jicehel et Minibug pour avoir admiré mon programme "DENTELLE FANTAISIE" !

Merci aussi à Papydall pour avoir résolu le problème de l'image escamotée par la fonction 2D_CIRCLE, grâce à une astuce toute bête mais efficace. J'ai dû avertir Klaus que la fonction "2D_FILL_OFF" introduite dans mon programme à côté de 2D_CIRCLE n'est pas opérationnelle, ayant abouti à une erreur. (Voir le message ci-dessous que je lui ai passé). Atchao bonsoir !
Sleep Sleep Sleep
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Une dentelle fantaisie   Sam 23 Mai 2015 - 1:21

C'est par ce que pour l'utiliser, il ne fautpas utiliser la dernière version récupérable sur le site WEB, mais aller récupérer la version avec editeur présente sur le Webdav de Jack. Toutes les commandes qu'à énumérées Klaus ont été ajoutées depuis.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Une dentelle fantaisie   Sam 23 Mai 2015 - 1:34

Ca marche avec la version V0.9.25i6. Essaie ce code:
Code:
picture 1
color 1,255,255,0
2d_pen_color 0,0,0
2d_circle 40,40,15
2d_fill_off
2d_circle 70,70,15
end
Et voici le résultat:


Mais comme dit Jicehel, encore faut-il avoir la dernière version...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

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

MessageSujet: Re: Une dentelle fantaisie   Sam 23 Mai 2015 - 1:44

La dernière version est ici

Fichier : PANORAMIC_EDITOR.exe
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Une dentelle fantaisie   Sam 23 Mai 2015 - 11:18

C'est vrai qu'entre les MAJ et les nouvelles versions, on est parfois un peu perdu ! drunken

Merci a toi klaus pour ces détails que tu as donné.

Wink Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Une dentelle fantaisie   

Revenir en haut Aller en bas
 
Une dentelle fantaisie
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Sac réutilisable Damask et dentelle
» "DENTELLE" tutoriel de LEONIE
» La Fraise ramène son sucre fantaisie...
» Effet de Fantaisie sur image
» 3- tuto " Bonne fête maman"

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