Sa me prend du temps et j'en ai deja pas mal perdu a cause du taff


Cordialement,
GallyHC
Voilà c'est fait mais j'ai pas pu précisé que le code avait été développé part avec PB 4.60BGallyHC a écrit :Je te propose que tu le mettes sur mon site. Le site est "http://www.koakdesign.info/?url=04"
selectionne le mode Winding number avec Tab et ça devrait être bon !graph100 a écrit :
Alors, là, selon les définitions d'un polygone, sommes-nous dedans![]()
Apparemment, lorsque des zones se superposent, on sort du polygone, es-ce normal ?
C'est une excellente idée! Malheureusement, même si les sites des uns et des autres sont très biens (j'en ai un moi-même!), on n'est pas à l'abri d'un accident. C'est pour ça que j'ai tendance à privilégier le forum, d'autant que je le visite tous les jours. Pour un tel outil, il vaudrait peut-être mieux stocker tous les sources dans un espace partagé par tout le monde, avec quelques administrateurs volontaires : genre google code, ou free, en disant dès le départ que cet espace nous appartient à tous, membres de la communauté purebasic.Thyphoon a écrit :Moi j'avais l'idée de faire "un jour" une application lié a l'éditeur qui serait synchronisé avec un serveur avec ce genre de source, mais avec le code source pour toute les versions de PB si possible et compilable en un clic !
Je suis tout a fait d'accord avec toi ! le site perso n'est pas la solution, faut trouver quelques choses de communautaire. Je pense qu'il y a là un projet très intéressant ... le problème c'est comme tout...trouver le tempsdjes a écrit :C'est une excellente idée! Malheureusement, même si les sites des uns et des autres sont très biens (j'en ai un moi-même!), on n'est pas à l'abri d'un accident. C'est pour ça que j'ai tendance à privilégier le forum, d'autant que je le visite tous les jours. Pour un tel outil, il vaudrait peut-être mieux stocker tous les sources dans un espace partagé par tout le monde, avec quelques administrateurs volontaires : genre google code, ou free, en disant dès le départ que cet espace nous appartient à tous, membres de la communauté purebasic.Thyphoon a écrit :Moi j'avais l'idée de faire "un jour" une application lié a l'éditeur qui serait synchronisé avec un serveur avec ce genre de source, mais avec le code source pour toute les versions de PB si possible et compilable en un clic !
Code : Tout sélectionner
;http://www.visibone.com/inpoly/
Procedure cn_inPoly(*p.POINT, List poly.POINT())
Protected.POINT new, old, lp, rp, *poly
Protected i, inside
If ListSize(poly()) < 3: ProcedureReturn 0: EndIf
*poly = @poly() ;PushListPosition(poly())
LastElement(poly()): old = poly()
ForEach poly()
;find leftmost endpoint 'lp' and the rightmost endpoint 'rp' based on x value
If poly()\x > old\x
lp = old
rp = poly()
Else
lp = poly()
rp = old
EndIf
If lp\x < *p\x And *p\x <= rp\x And (*p\y - lp\y) * (rp\x - lp\x) < (rp\y - lp\y) * (*p\x - lp\x)
inside = ~inside
EndIf
old = poly()
Next
ChangeCurrentElement(poly(), *poly) ;PopListPosition(poly())
ProcedureReturn inside & 1
EndProcedure
je suis partant pour une realisation communautaire a la française et j'ai deja des outils prets (genre mon parser de code pb). Apres faut juste quelque dev pret a si mettre et des personne motivé pour etre adm et modo...djes a écrit :C'est une excellente idée! Malheureusement, même si les sites des uns et des autres sont très biens (j'en ai un moi-même!), on n'est pas à l'abri d'un accident. C'est pour ça que j'ai tendance à privilégier le forum, d'autant que je le visite tous les jours. Pour un tel outil, il vaudrait peut-être mieux stocker tous les sources dans un espace partagé par tout le monde, avec quelques administrateurs volontaires : genre google code, ou free, en disant dès le départ que cet espace nous appartient à tous, membres de la communauté purebasic.Thyphoon a écrit :Moi j'avais l'idée de faire "un jour" une application lié a l'éditeur qui serait synchronisé avec un serveur avec ce genre de source, mais avec le code source pour toute les versions de PB si possible et compilable en un clic !
Bon j'ai créer un nouveau sujet ! j’espère que ça iradjes a écrit :Oui, il faudrait créer un nouveau sujet ; tu t'en charges?
Code : Tout sélectionner
Macro Coo_Segment( Pa, Pb, Liste )
*Situation = @Liste
Pa = Liste : If NextElement( Liste ) = 0 : FirstElement( Liste ) : EndIf
Pb = Liste : ChangeCurrentElement( Liste, *Situation )
EndMacro
Procedure cn_PnPoly( *P.point , List Polylist.point() )
Define pa.point, pb.point, cn.l
ForEach Polylist() : Coo_Segment( Pa, Pb, Polylist() )
If (((pa\y <= *P\y) And (pb\y > *P\y)) Or ((pa\y > *P\y) And (pb\y <= *P\y))) ; an upward crossing Or // a downward crossing
; compute the actual edge-ray intersect x-coordinate
vt.f = (*P\y - pa\y) / (pb\y - pa\y);
If (*P\x < pa\x + vt * (pb\x - pa\x)) ; *P\x < intersect
cn+1; ; a valid crossing of y=*P\y right of *P\x
EndIf
EndIf
Next
ProcedureReturn (cn&1); // 0 if even (out), and 1 if odd (in)
EndProcedure