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.
mon fil rouge de l'ete Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
mon fil rouge de l'ete Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
mon fil rouge de l'ete Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
mon fil rouge de l'ete Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
mon fil rouge de l'ete Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
mon fil rouge de l'ete Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
mon fil rouge de l'ete Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
mon fil rouge de l'ete Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
mon fil rouge de l'ete Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
mon fil rouge de l'ete Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
mon fil rouge de l'ete Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
mon fil rouge de l'ete Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
mon fil rouge de l'ete Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
mon fil rouge de l'ete Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
mon fil rouge de l'ete 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 du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 mon fil rouge de l'ete

Aller en bas 
4 participants
AuteurMessage
sergeauze

sergeauze


Nombre de messages : 391
Age : 72
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

mon fil rouge de l'ete Empty
MessageSujet: mon fil rouge de l'ete   mon fil rouge de l'ete EmptyLun 12 Juil 2010 - 23:52

j'ai toujours en tete le meme projet
je trace un polygone et je veux faire un scan -line pour en colorier
l'interieur.
C'est pas gagne.!, et pour l'nstant je bute sur un pb de proportion des cotes,de division par zero,et depas negatif dans les boucles
Pour l'instant j'en suis là
Code:

  ' je saisis les sommets et je trace les arretes du polygone convexe
    ' pb boucle a pas negatif qui n'occasione aucun message d'erreur !
  ' pb pour le scanline
    rem "escape pour sortir"
    rem click droit
      dim p%, xa(1000),ya(1000), n ,xb,yb  ,a ,v ,x,y ,b ,w
  print "NOMBRE DE COTES  et sommets "
  input n : '  nombre de cotes= nbr de sommets
      height 0,1000
      width 0,1000
      p%=0
      2d_fill_color 255,210,0
      2d_pen_color 85,89,216
  repeat
    if key_down_code  = 27 then terminate
    if mouse_right_down(0)= 1
      wait 10
      p%=p%+1

 
      xa(p%)= mouse_x_right_down(0):print  ".    xa=",xa(p%)
        xb=xa(p%+1)

   
      ya(p%)= mouse_y_right_down(0) :print  ";  .ya=",ya(p%)
          yb=ya(p%+1 )
      print "............p=",p%
 
            2d_circle xa(p%),ya(p%),8
       


        end_if
  until p%=n
  for p%= 1 to n -1
              print  ".;;;;;;;    xa=",xa(p%)
              print  ";;;;;;;;  .ya=",ya(p%)

                w=1
            if xa(p%)> xa(p%+1) then w=-1
      for x=xa(p%) to xa(p%+1)step w
          2d_line  xa(p%),ya(p%),xa(p%+1),ya(p%+1)
            a=(ya(p%+1)-ya(p%))/(xa(p%+1)-xa(p%))

            b= ya(p%)-a*xa(p%)
            y=(a*x)+b
            2d_circle x,y,3
       
        next x
       
  next p%
wait 1000
 
            2d_line  xa(1),ya(1) , xa(p%),ya(p%)
            if xa(1)> xa(p%) then  w =-1
    wait 200
    if xa(1)- xa(p%)=0 then    xa(p%)= xa(p%)+0.01
  for x= xa(1) to xa(p%) step w
      if xa(1)> xa(p%) then w =-1
      if xa(1)- xa(p%)=0 then    xa(p%)= xa(p%)+0.01
          a=(ya(p%) -ya(1))/(xa(p%) -xa(1 ))
          b=ya(p%)-a*xa(p%)
          y=(a*x)+b
            2d_fill_color 255,0,255
          2d_circle x,y,5
   
  next x
    print ".......a....",a
 ' ....................................................................
  end

Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Klaus

Klaus


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

mon fil rouge de l'ete Empty
MessageSujet: Re: mon fil rouge de l'ete   mon fil rouge de l'ete EmptyMar 13 Juil 2010 - 0:18

Je fais marcher ton programme, et je n'ai aucune erreur. Il dessine bien un petit rond sur chaque point cliqué à droite, puis, lorsque le compte est bon, il trace une ligne de point en point pour finir par fermer le polygone. Joli. Mais je ne retrouve pas l'erreur dont tu parles. Je continue à chercher...

EDIT

à quoi servent les variables xb et yb dans la boucle de construction du polygone ? Elles ne sont pas utilisées par la suite, en en plus, dans la boucle, elles ont chargées par le contenu de cellules de tableaux qui ne sont PAS ENCORE affectées et dont la valeur n'est donc pas fiable.

EDIT

La ligne 43 2d_line ... ne semble pas avoir de fonction logique. En Effet, elle se trouve à l'intérieur d'une boucle qui dessine une "grosse" ligne entre deux points en traçant des cercles le long de cette ligne, et elle est répétée tel quel, pour chaque itération. Ou alors, c'est un résidu d'une première version de ton programme, ou alors, il faut la sortir de la boucle et la placer soit juste avant de for en ligne 42 (mais alors elle est entièrement "biffée" par la nuée de petits cercles), ou alors il faut la placer après le next x en ligne 50.


Dernière édition par Klaus le Mar 13 Juil 2010 - 0:32, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
sergeauze

sergeauze


Nombre de messages : 391
Age : 72
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

mon fil rouge de l'ete Empty
MessageSujet: Re: mon fil rouge de l'ete   mon fil rouge de l'ete EmptyMar 13 Juil 2010 - 0:28

c'est les boucles for next
for x= a to b
si a est superieur a b le systeme ne renvoit pas de message d'erreur et me trace un seul cercle au lieu de tracer le segment fait lui, de plusieurs cercles successifs
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Klaus

Klaus


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

mon fil rouge de l'ete Empty
MessageSujet: Re: mon fil rouge de l'ete   mon fil rouge de l'ete EmptyMar 13 Juil 2010 - 0:35

Je me suis mal exprimé. Il s'agit des lignes 23 et 27 qui chargent respectivement les variables xb et yb avec une valeur PAS ENCORE DEFINIE, mais pas la suite, ces variables ne sont jamais réutilisées.

Dans mon post précédent, j'ai fait une autre remarque, concernant un 2d_line.

EDIT

Je pense que devant la ligne 55, il manque un w = 1.

Puis, en ligne 60, tu modifies la variable w dans la boucle, et cette variable est pourtant le pas de la boucle. C'est dangereux, cela ! Il vaut mieux éviter de toucher aux variables constitutrices de la boucle !

EDIT

Je suis tombé sur une anomalie. Non pas une erreur, mais une anomalie qui est due au code. Je fais un triangle (nombre de sommets 3). Après le troisième click à droite, il trace 2 "grosses" lignes entre point 1 et point 2 et entre point 2 et point 3. Mais il ne trace que la simple ligne 2d_line entre point 3 et point 1 dès que la coordonnée horizontale x du point 3 est entre celles des points 1 et 2. Exemple:
Point 1: xa=228 ya=112
Point 2: xa=667 ya=245
Point 3: xa=391 ya=337

Dès que xa(point3)<xa(point1) ou xa(point3)>xa(point2) tout marche bien. A creuser...

Bon, pour ce soir, je vais me coucher; je continuerai demain.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
sergeauze

sergeauze


Nombre de messages : 391
Age : 72
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

mon fil rouge de l'ete Empty
MessageSujet: Re: mon fil rouge de l'ete   mon fil rouge de l'ete EmptyMar 13 Juil 2010 - 0:51

je me damande s'il est possible de faire un scan_ line pour remplir la figure vu que lorsque 2 points ont la meme valeur en x ou (tres proche),on affiche pas de y.
Merci pour ton attention
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Jack
Admin
Jack


Nombre de messages : 2395
Date d'inscription : 28/05/2007

mon fil rouge de l'ete Empty
MessageSujet: Re: mon fil rouge de l'ete   mon fil rouge de l'ete EmptyMar 13 Juil 2010 - 6:52

Promis, je te fais une commande de remplissage pour la prochaine version instantanée.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

mon fil rouge de l'ete Empty
MessageSujet: Re: mon fil rouge de l'ete   mon fil rouge de l'ete EmptyMar 13 Juil 2010 - 9:07

Bonjour,

A titre pédagogique, on trouve des infos intéressante sur ce site :
http://raphaello.univ-fcomte.fr/ig/algorithme/algorithmique.htm
Pas vraiment le temps de m'y pencher à fond mais peut être que tu y trouveras ton bonheur....

Regarde le principe du "pixel-germe" (2eme algo qui ne nécessite pas de récursivité). Les exemples sont en C mais le principe lui est écrit en français...

ou alors :
http://www-master.ufr-info-p6.jussieu.fr/2006/Ajouts/Master_esj_2006_2007/IMG/pdf/dessin2D3D.pdf
Revenir en haut Aller en bas
http://nardo26.lescigales.org
sergeauze

sergeauze


Nombre de messages : 391
Age : 72
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

mon fil rouge de l'ete Empty
MessageSujet: Re: mon fil rouge de l'ete   mon fil rouge de l'ete EmptyMar 13 Juil 2010 - 14:34

ça a l'air de vouloir fonctionner je ne touche plus a cette partie du programme
quelques messages d'erreur que j'ai notes pour memoire apres la fin du programme .
Il fallait rajouter w=1 a la ligne 61
Code:

      dim p, xa(1000),ya(1000), n ,a ,v ,x,y ,b ,w
' je saisis les sommets et je trace les arretes du polygone convexe
    ' pb boucle a pas negatif qui n'occasione aucun message d'erreur !
  ' pb pour le scanline
    rem "escape pour sortir"
    rem click droit

  print "NOMBRE DE SOMMETS
  input n : '  nombre de cotes= nbr de sommets
      height 0,1000
      width 0,1000
      p=0
      2d_fill_color 255,210,0
      2d_pen_color 85,89,216
  repeat
    if key_down_code  = 27 then terminate
    if mouse_right_down(0)= 1
      wait 10
      p=p+1

 
      xa(p)= mouse_x_right_down(0):print  ".    xa=",xa(p)


   
      ya(p)= mouse_y_right_down(0) :print  ";  .ya=",ya(p)

      print "............p=",p
 
            2d_circle xa(p),ya(p),8
       


        end_if
  until p=n

  ' ....................................................................
  for p= 1 to n -1
              print  ".;;;;;;;    xa=",xa(p)
              print  ";;;;;;;;  .ya=",ya(p)

                w=1
            if xa(p)> xa(p+1) then w=-1
      for x=xa(p) to xa(p+1)step w

            a=(ya(p+1)-ya(p))/(xa(p+1)-xa(p))

            b= ya(p)-a*xa(p)
            y=(a*x)+b
            2d_circle x,y,3
              w=1
        next x
       
  next p
wait 1003

 ' ................................................................


      w=1
          if xa(1)> xa(p) then  w =-1
    wait 100
  for x= xa(1) to xa(p) step w
      if xa(1)> xa(p) then w =-1
      if xa(1)- xa(p)=0 then    xa(p)= xa(p)+0.01
          a=(ya(p) -ya(1))/(xa(p) -xa(1 ))
          b=ya(p)-a*xa(p)
          y=(a*x)+b
          w=1
            2d_fill_color 255,0,0
          2d_circle x,y,5
   
  next x
    print ".......a....",a
 ' ....................................................................
  end
 ' ...........................................
  'NAN  is not a valid floatinng point value
  'INF  is not a valid floatinng point value
  ' 39  2d_line  xa(p),ya(p),xa(p+1),ya(p+1)
  ' 53    2d_line  xa(1),ya(1) , xa(p),ya(p)
Merci a Jack et aux autres intervenants
Je continue sur ma lancee pour voir si je peux encore avancer
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Contenu sponsorisé





mon fil rouge de l'ete Empty
MessageSujet: Re: mon fil rouge de l'ete   mon fil rouge de l'ete Empty

Revenir en haut Aller en bas
 
mon fil rouge de l'ete
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Le jeu de l'Ane Rouge
» Fermeture Form par la croix rouge
» Solution ultime pour bloquer la croix rouge !
» Appliquer un filtre (rouge, vert ou bleu) à une image bitmap

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