> Pixels à ma gloire

Programmation d'applications complexes
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: > Pixels à ma gloire

Message par Backup »

SPH a écrit :Donc on en reviens a ce que je disais : si tu as 8291 avec mon logo, COMMENT tu explique cette erreur puisque mon logo ne possede que 8290 pixels non noir ??????? :?: :?: :?: :!: :?: :?:

Pour l'instant, il n'y a que toi qui a ce bug et ca devrait t'inquieter ! Tu devrais chercher pkoi PB en compte + !!
ce qui me plait avec toi, c'est qu'a aucun moment tu ne te remet en question !
je te montre la preuve que ton code genere un bug, et tu continu a penser que c'est mon systeme qui deconne !! :roll:

pour t'expliquer :

juste avant le bug tu fais :

Code : Tout sélectionner

If x<>0
      cmb+1
tu incremente cmb tant que x<>0

et ta boucle indique

Code : Tout sélectionner

For u=0 To 73
    For i=0 To 179
soit 74x180 =13320 pixel !

x peut tres bien etre egale a -1 ce qui est different de 0 !!
et donc etre incrementé quand meme ;)
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: > Pixels à ma gloire

Message par SPH »

Dobro a écrit :soit 74x180 =13320 pixel !

x peut tres bien etre egale a -1 ce qui est different de 0 !!
et donc etre incrementé quand meme ;)
Voila que tu va nous pondre des couleurs negatives !!!

OK alors, IMAGINONS que un point() donne un -1 (alors qu'on est dans le screen et pas en dehors), fait ca et dis moi si ca marche :

Code : Tout sélectionner

StartDrawing(ScreenOutput()) 
For u=0 To 73
  For i=0 To 179
    x=Point(i,u)
    If x>0
      cmb+1

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: > Pixels à ma gloire

Message par kernadec »

bonjour
Très bel effet, Merci pour le partage SPH.

Avec une résolution 1920,1080 avec chipset intel 82845G écran noir avec le code de SPH
pour que cela fonctionne sur mon écran, il faut que j'utilise une résolution fixe de 1024,768
car le test ne fonctionne pas?..

avec le code modifié de Dobro écran noir aussi!!
(petite erreur de syntaxe avec Beep_)
pour ce code aussi je suis obligé de mettre une résolution de 1024,768
bonne journée... :wink:

Cordialement
Dernière modification par kernadec le mar. 04/janv./2011 14:27, modifié 3 fois.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: > Pixels à ma gloire

Message par SPH »

kernadec a écrit :bonjour
Avec une résolution 1920,1080 avec chipset intel 82845G écran noir avec le code SPH
Cordialement
Ce sont les grands mysteres de PB.... Tiens d'ailleurs, ca rejoins le fameux bug du point !!!! (mais fred ne s'y penchera pas, je suis le seul a raler)

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: > Pixels à ma gloire

Message par djes »

SPH a écrit :
kernadec a écrit :bonjour
Avec une résolution 1920,1080 avec chipset intel 82845G écran noir avec le code SPH
Cordialement
Ce sont les grands mysteres de PB.... Tiens d'ailleurs, ca rejoins le fameux bug du point !!!! (mais fred ne s'y penchera pas, je suis le seul a raler)
Vous avez raison tous les deux, c'est le bug de la fonction point() en DirectX9. SPH, tu aurais dû prévoir un tableau de la taille maximale de l'image, comme ça pour ton screensaver, on pourra mettre n'importe quelle image. Dobro, SPH a raison pour son image, le point ne devrait pas dépasser le nombre de pixels qu'il connait comme étant allumés, mais c'était pour lui une sorte de checksum.

Au fait SPH, évite les .w, c'est lent. Utilise le .i qui permet d'avoir la taille de l'entier natif le plus rapide de la plateforme. Sinon, super joli, merci pour le code ! :)
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: > Pixels à ma gloire

Message par SPH »

Merci djes.

Bon ok, je vais pondre le code avec le dim maxi mais il y aura forcement une chose qu'il faut vous dire : tout pixel supplementaire non noir va forcement modifier le logo !!

Voila le code (mais tous les points meme noirs se deplacent; poluant l'anim) :

Code : Tout sélectionner

InitSprite() 
InitMouse() 
InitKeyboard() 

;SetPriorityClass_ ( GetCurrentProcess_ (), #IDLE_PRIORITY_CLASS ) 
Global dw.w,dh.w

If ExamineDesktops()
   dw.w=DesktopWidth(0) 
   dh.w=DesktopHeight(0) 
Else 
   dw.w=1024 
   dh.w=768 
EndIf 


xx1=Random(dw-1-179)
yy1=Random(dh-1-73)
xx2=Random(dw-1-179)
yy2=Random(dh-1-73)

nb=13320;8290
nb2=0
cmb=0
;;;;;;;;;;;

Dim x.f(9)
Dim y.f(9)

nombre=9
Dim oux.w(20)
Dim ouy.w(20)
For i=0 To 20
  oux(i)=Random(dw-1-179)
  ouy(i)=Random(dh-1-73)
Next

;;;;;;;;;;;;;;

OpenScreen(dw,dh,32,"") 

;LoadSprite(0,"d:\PureBasic\PB\SPH.bmp")
LoadSprite(0,"SPH.bmp")
DisplaySprite(0,0,0)
;;;;;;;;;;;
;;;;;;;;;;;
;;;;;;;;;;;

Global Dim p.w(nb,5000)
  Procedure bspline(x0,y0,x1,y1,x2,y2,x3,y3,n,cmb) 
For z = 0 To 149
    
    t1.f = z/150
    t2.f = t1*t1
    t3.f = t1*t1*t1

  	k1.f = 1 - 3*t1 + 3*t2 - t3
    k2.f = 4 - 6*t2 + 3*t3
  	k3.f = 1 + 3*t1 + 3*t2 - 3*t3

    xfinal.f = (x0 * k1 + x1 * k2 + x2 * k3 + x3 * t3) / 6
		yfinal.f = (y0 * k1 + y1 * k2 + y2 * k3 + y3 * t3) / 6

    ;Plot (xfinal,yfinal,RGB(0,255,0))   
    ;Debug 9+z*2+n*140
    
     If xfinal<0
       xfinal=0
     EndIf
     If yfinal<0
       yfinal=0
     EndIf
     
     If xfinal>dw-1-p(cmb,0)
       xfinal=dw-1
     EndIf
     If yfinal>dh-1-p(cmb,1)
       yfinal=dh-1
     EndIf
;     
    ;Plot(p(i,9+p(i,5)*2)+p(i,0),p(i,10+p(i,5)*2)+p(i,1),RGB(p(i,2),p(i,3),p(i,4)))
     
    p(cmb,9+z*2+n*300)=xfinal
    p(cmb,10+z*2+n*300)=yfinal
    
  Next z
EndProcedure 


StartDrawing(ScreenOutput()) 
For u=0 To 73
  For i=0 To 179
    x=Point(i,u)
    If x<>-20
      cmb+1
      p(cmb,0)=i
      p(cmb,1)=u
      p(cmb,2)=Red(x)
      p(cmb,3)=Green(x)
      p(cmb,4)=Blue(x)
      p(cmb,5)=-Random(Random(Random(1000)+300))-1500+Random(Random(1500))
      p(cmb,6)=xx1
      p(cmb,7)=yy1
      p(cmb,8)=900
      
For n=0 To 9
  x(n)=Random(dw-1-179)
  y(n)=Random(dh-1-73)
  x=Random(Random(Random(20)))
  x=Random(Random(20))
  x(n)=oux(x)
  y(n)=ouy(x)
Next

;*********************************************
    x(0)=xx1 : y(0)=yy1
    x(1)=x(0) : y(1)=y(0)
    x(2)=x(0) : y(2)=y(0)
    x(nombre-3)=xx2 : y(nombre-3)=yy2
    x(nombre-1)=x(nombre-3) : y(nombre-1)=y(nombre-3)
    x(nombre-2)=x(nombre-3) : y(nombre-2)=y(nombre-3)

  For n=0 To nombre-4   ; On trace la bspline
    bspline(x(n),y(n),x(n+1),y(n+1),x(n+2),y(n+2),x(n+3),y(n+3),n,cmb)
  Next
  ;End
  
;*********************************************
      
    
      p(cmb,9+p(cmb,8)*2)=xx2
      p(cmb,10+p(cmb,8)*2)=yy2
    EndIf
  Next
Next
StopDrawing() 
If cmb<>nb
  ;End
EndIf

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

debut:

Repeat 
  ClearScreen(0)
 
;ExamineMouse() 
;*****


StartDrawing(ScreenOutput()) 
;;;;;;;;;;;

For i=1 To nb
  
  If p(i,5)<>32700
    p(i,5)+1
    If p(i,5)=p(i,8)
      p(i,5)=32700
      nb2+1
    EndIf
  EndIf
  
  If p(i,5)<0
Plot(p(i,6)+p(i,0),p(i,7)+p(i,1),RGB(p(i,2),p(i,3),p(i,4)))
Else
; Plot(p(i,9+p(i,8))+p(i,0),p(i,10+p(i,8))+p(i,1),RGB(p(i,2),p(i,3),p(i,4)))
  If p(i,5)<>32700
  Plot(p(i,9+p(i,5)*2)+p(i,0),p(i,10+p(i,5)*2)+p(i,1),RGB(p(i,2),p(i,3),p(i,4)))
  Else
  Plot(p(i,9+p(i,8)*2)+p(i,0),p(i,10+p(i,8)*2)+p(i,1),RGB(p(i,2),p(i,3),p(i,4)))
  EndIf
EndIf
Next


;zz+1 : zz%(dw) : Plot(zz,0,RGB(0,255,0))
;;;;;;;;;;;
StopDrawing() 
;*****
FlipBuffers() 

ExamineKeyboard() 
Until KeyboardPushed(#PB_Key_Escape)
End 
PS : suis je le seul a faire ce genre de code ? :

Code : Tout sélectionner

  x=Random(Random(Random(20)))
Vous comprenez ce que cela veux dire ?

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: > Pixels à ma gloire

Message par Backup »

SPH a écrit : PS : suis je le seul a faire ce genre de code ? :

Code : Tout sélectionner

  x=Random(Random(Random(20)))
Vous comprenez ce que cela veux dire ?
non ! on doit etre trop con !! :lol:

au passage mieux vaux faire un

Code : Tout sélectionner

RandomSeed(ElapsedMilliseconds() )
:)
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: > Pixels à ma gloire

Message par SPH »

Dobro a écrit :

Code : Tout sélectionner

x=Random(Random(Random(20)))
et

Code : Tout sélectionner

RandomSeed(ElapsedMilliseconds())
:)
Alors la, va falloir que tu m'expliques le rapport !!!!!! (c'est que tu n'as pas compris mon code)

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: > Pixels à ma gloire

Message par Backup »

SPH a écrit : Alors la, va falloir que tu m'expliques le rapport !!!!!! (c'est que tu n'as pas compris mon code)
oui SPH ! ça doit etre ça .. :roll:

alors j'attends ton explication... ;) on verra apres .. hein ?
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: > Pixels à ma gloire

Message par SPH »

Dobro a écrit :
SPH a écrit : Alors la, va falloir que tu m'expliques le rapport !!!!!! (c'est que tu n'as pas compris mon code)
oui SPH ! ça doit etre ça .. :roll:

alors j'attends ton explication... ;) on verra apres .. hein ?

Code : Tout sélectionner

Debug ("Egalité pour tous les nombres :")
For i=1 To 100
   ; genere des nombres entre 0 et 100
  Debug Random(100)
Next

Debug ("Ligne oblique :")
For i=1 To 100
   ; genere des nombres plutot proche de 0 que de 100
  Debug Random(Random(100))
Next

Debug ("courbe un peu creusée :")
For i=1 To 100
   ; genere pas mal de nombre proche de 0 et peu pret de 100
  Debug Random(Random(Random(100)))
Next

Debug ("courbe creusée :")
For i=1 To 100
   ; genere beaucoup de nombre proche de 0 et tres peu pret de 100
  Debug Random(Random(Random(Random(100))))
Next

Debug ("courbe très creusée :")
For i=1 To 100
   ; MODE CARNAGE : résultats tous tres tres proche de 0
  Debug Random(Random(Random(Random(Random(100)))))
Next

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: > Pixels à ma gloire

Message par Backup »

...
Dernière modification par Backup le mar. 19/août/2014 10:56, modifié 1 fois.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: > Pixels à ma gloire

Message par SPH »

Ca arrive :wink:

Bon, tu ne m'as tjr pas dis si en remplacant dans mon code la routine par ca :

Code : Tout sélectionner

StartDrawing(ScreenOutput()) 
For u=0 To 73
  For i=0 To 179
    x=Point(i,u)
    If x>0
      cmb+1
est-ce que ca marche ??
(x>0 au cas ou un point serait negatif)

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: > Pixels à ma gloire

Message par SPH »

Bon, qui voudrais que j'adapte le code pour utiliser n'importe quelle image ? :?:

En contrepartie, j'aimerais bien avoir un code que transforme direct un EXE en SCR... :twisted:

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: > Pixels à ma gloire

Message par Backup »

SPH a écrit : En contrepartie, j'aimerais bien avoir un code que transforme direct un EXE en SCR... :twisted:
une petite recherche sur le forum avec Screensaver . par exemple ;)

ici par exemple :
http://www.purebasic.fr/french/viewtopi ... highlight=
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: > Pixels à ma gloire

Message par SPH »

Code pour utiliser vos images (long a demarrer plus l'image est grosse mais preferez des logos comme vos noms en couleurs differentes)

ps : compilez le tout pour que ce soit fluiiiide

Code : Tout sélectionner

InitSprite() 
InitMouse() 
InitKeyboard() 

;SetPriorityClass_ ( GetCurrentProcess_ (), #IDLE_PRIORITY_CLASS ) 
Global dw.w,dh.w,SPH_Z,SPH_NOMBRE

If ExamineDesktops()
dw=DesktopWidth(0) 
dh=DesktopHeight(0) 
If OpenScreen(dw,dh,32,"") 
Else
  Goto autre
EndIf
Else 
  autre:
dw=1280
dh=1024
If OpenScreen(dw,dh,32,"") 
Else
dw=1280
dh=960
If OpenScreen(dw,dh,32,"") 
Else
dw=1280
dh=800
If OpenScreen(dw,dh,32,"") 
Else
dw=1280
dh=768
If OpenScreen(dw,dh,32,"") 
Else
dw=1280
dh=720
If OpenScreen(dw,dh,32,"") 
Else
dw=1024
dh=768
If OpenScreen(dw,dh,32,"") 
Else
dw=1024
dh=600
If OpenScreen(dw,dh,32,"") 
Else
MessageRequester("Erreur", "OpenScreen impossible")
End
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf 

;;;;;;;;;;;;;;

;LoadSprite(0,"d:\PureBasic\PB\SPH.bmp")
LoadSprite(0,"d:\image.bmp")
;LoadSprite(0,"SPH.bmp")
DisplaySprite(0,0,0)
SPH_x=SpriteWidth(0)
SPH_y=SpriteHeight(0)
;;;;;;;;;;;
;;;;;;;;;;;
cmb=0
StartDrawing(ScreenOutput()) 
For u=0 To SPH_y-1
  For i=0 To SPH_x-1
    x=Point(i,u)
    If x>0
      cmb+1
    EndIf
  Next
Next
StopDrawing() 

xx1=Random(dw-1-SPH_x)
yy1=Random(dh-1-SPH_y)
xx2=Random(dw-1-SPH_x)
yy2=Random(dh-1-SPH_y)

nb=cmb
nb2=0
cmb=0
;;;;;;;;;;;

nombre=9
Dim x.f(nombre)
Dim y.f(nombre)


Dim oux.w(40)
Dim ouy.w(40)
For i=0 To 40
  oux(i)=Random(dw-1-SPH_x)
  ouy(i)=Random(dh-1-SPH_y)
Next

;;;;;;;;;;;

Global Dim p.w(nb,2500)
  Procedure bspline(x0,y0,x1,y1,x2,y2,x3,y3,n,cmb) 
For z = 0 To SPH_Z-1;149
    
    t1.f = z/SPH_Z;150
    t2.f = t1*t1
    t3.f = t1*t1*t1

  	k1.f = 1 - 3*t1 + 3*t2 - t3
    k2.f = 4 - 6*t2 + 3*t3
  	k3.f = 1 + 3*t1 + 3*t2 - 3*t3

    xfinal.f = (x0 * k1 + x1 * k2 + x2 * k3 + x3 * t3) / 6
		yfinal.f = (y0 * k1 + y1 * k2 + y2 * k3 + y3 * t3) / 6

    ;Plot (xfinal,yfinal,RGB(0,255,0))   
    ;Debug 9+z*2+n*140
    
     If xfinal<0
       xfinal=0
     EndIf
     If yfinal<0
       yfinal=0
     EndIf
     
     If xfinal>dw-1-p(cmb,0)
       xfinal=dw-1
     EndIf
     If yfinal>dh-1-p(cmb,1)
       yfinal=dh-1
     EndIf
;     
    ;Plot(p(i,9+p(i,5)*2)+p(i,0),p(i,10+p(i,5)*2)+p(i,1),RGB(p(i,2),p(i,3),p(i,4)))
     
    p(cmb,9+z*2+n*SPH_Z*2)=xfinal
    p(cmb,10+z*2+n*SPH_Z*2)=yfinal
    
;     If z=SPH_Z-1
;     p(cmb,8)=(SPH_NOMBRE+1)*SPH_Z;900
;     EndIf
  
  Next z
EndProcedure 


StartDrawing(ScreenOutput()) 
For u=0 To SPH_y-1
  For i=0 To SPH_x-1
    x=Point(i,u)
    If x>0
      cmb+1
      p(cmb,0)=i
      p(cmb,1)=u
      p(cmb,2)=Red(x)
      p(cmb,3)=Green(x)
      p(cmb,4)=Blue(x)
      x=Random(Random(2000))
      p(cmb,5)=-Random(Random(Random(1000)))-x+Random(Random(x))
      p(cmb,6)=xx1
      p(cmb,7)=yy1
      
      SPH_Z=120+Random(80)
      SPH_NOMBRE=nombre-4-Random(2)
;       SPH_Z=200
;       SPH_NOMBRE=nombre-4
      p(cmb,8)=(SPH_NOMBRE+1)*SPH_Z;900
      
For n=0 To nombre
  x(n)=Random(dw-1-SPH_x)
  y(n)=Random(dh-1-SPH_y)
  x=Random(Random(Random(40)))
  ;x=Random(Random(40))
  x(n)=oux(x)
  y(n)=ouy(x)
  ;x(n)=oux(Random(Random(Random(20))))
  ;y(n)=ouy(Random(Random(Random(20))))
Next

  x(0)=xx1 : y(0)=yy1
  x(1)=xx1 : y(1)=yy1
  x(2)=xx1 : y(2)=yy1
  
  x(SPH_NOMBRE+1)=xx2 : y(SPH_NOMBRE+1)=yy2
  x(SPH_NOMBRE+2)=xx2 : y(SPH_NOMBRE+2)=yy2
  x(SPH_NOMBRE+3)=xx2 : y(SPH_NOMBRE+3)=yy2
  
    
  For n=0 To SPH_NOMBRE;nombre-4   ; On trace la bspline
    bspline(x(n),y(n),x(n+1),y(n+1),x(n+2),y(n+2),x(n+3),y(n+3),n,cmb)
  Next
  ;End
  
;*********************************************
      
    
      p(cmb,9+p(cmb,8)*2)=xx2
      p(cmb,10+p(cmb,8)*2)=yy2
    EndIf
  Next
Next
StopDrawing() 
; If cmb<>nb
;   End
; EndIf

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

debut:

Repeat 
  ClearScreen(0)
 
;ExamineMouse() 
;*****


StartDrawing(ScreenOutput()) 
;;;;;;;;;;;

For i=1 To nb
  
  If p(i,5)<>32700
    p(i,5)+1
    If p(i,5)=p(i,8)
      p(i,5)=32700
      nb2+1
    EndIf
  EndIf
  
  If p(i,5)<0
Plot(p(i,6)+p(i,0),p(i,7)+p(i,1),RGB(p(i,2),p(i,3),p(i,4)))
Else
; Plot(p(i,9+p(i,8))+p(i,0),p(i,10+p(i,8))+p(i,1),RGB(p(i,2),p(i,3),p(i,4)))
  If p(i,5)<>32700
  Plot(p(i,9+p(i,5)*2)+p(i,0),p(i,10+p(i,5)*2)+p(i,1),RGB(p(i,2),p(i,3),p(i,4)))
  Else
  Plot(p(i,9+p(i,8)*2)+p(i,0),p(i,10+p(i,8)*2)+p(i,1),RGB(p(i,2),p(i,3),p(i,4)))
  EndIf
EndIf
Next


;zz+1 : zz%(dw) : Plot(zz,0,RGB(0,255,0))
;;;;;;;;;;;
StopDrawing() 
;*****
FlipBuffers() 

If nb2=nb
   Gosub dta
   Goto debut
EndIf


ExamineKeyboard() 
Until KeyboardPushed(#PB_Key_Escape)
End 

;;;;;;;
;;;;;;;
;;;;;;;

dta:

nb2=0

xx1=xx2
yy1=yy2
xx2=Random(dw-1-SPH_x)
yy2=Random(dh-1-SPH_y)

Dim oux.w(40)
Dim ouy.w(40)
For i=0 To 40
  oux(i)=Random(dw-1-SPH_x)
  ouy(i)=Random(dh-1-SPH_y)
Next

For ii=1 To nb
      x=Random(Random(2000))
      p(ii,5)=-Random(Random(Random(1000)))-x+Random(Random(x))
      p(ii,6)=xx1
      p(ii,7)=yy1
      
      SPH_Z=120+Random(80)
      SPH_NOMBRE=nombre-4-Random(2)
      p(ii,8)=(SPH_NOMBRE+1)*SPH_Z;900
      
For n=0 To nombre
  x(n)=Random(dw-1-SPH_x)
  y(n)=Random(dh-1-SPH_y)
  x=Random(Random(Random(40)))
  ;x=Random(Random(40))
  x(n)=oux(x)
  y(n)=ouy(x)
  ;x(n)=oux(Random(Random(Random(20))))
  ;y(n)=ouy(Random(Random(Random(20))))
Next

  x(0)=xx1 : y(0)=yy1
  x(1)=xx1 : y(1)=yy1
  x(2)=xx1 : y(2)=yy1
  
  x(SPH_NOMBRE+1)=xx2 : y(SPH_NOMBRE+1)=yy2
  x(SPH_NOMBRE+2)=xx2 : y(SPH_NOMBRE+2)=yy2
  x(SPH_NOMBRE+3)=xx2 : y(SPH_NOMBRE+3)=yy2
  
  For n=0 To SPH_NOMBRE;nombre-4   ; On trace la bspline
    bspline(x(n),y(n),x(n+1),y(n+1),x(n+2),y(n+2),x(n+3),y(n+3),n,ii)
  Next
    
  p(ii,9+p(ii,8)*2)=xx2
  p(ii,10+p(ii,8)*2)=yy2
  
Next

Return


!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Répondre