Je cherche un algorithme qui me permette de remplir des polygones... il y en a un classique, qui est appelle "scanline" mais je vois pas trop comment le mettre en oeuvre... qqun a une idée? ATARI ruuullllleeeezzzzz!!!!!!
|
black book - Fred whipple, 1960 *** Ne sous-estimez pas la puissance de la Marmotte *** © Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina |
sBibi>et comment on fait si on comprends rien à l'anglais et que la version papier et introuvable? ON attends que tu nous scanne toute les pages!!! |
pfff... pas besoin de comprendre l'anglais, fo juste comprendre le c... tu downloade les sources du fast convex polygon filler données ds le blackbook sur le site, et pis vala... - Fred whipple, 1960 *** Ne sous-estimez pas la puissance de la Marmotte *** © Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina |
il faut commencer par ne gérer que des polygones convexes deja |
+sbibi>oui ca c clair, sinon c grave compliqué! En fait je connais le principe général, mais je vois pas trop comment le programmer... tout ceux qui font de la 3d, vous remplissez forcement des polygones, non? :-) [edit]Edité par Pegasus le 02-11-2001 à 19:35:31[/edit] ATARI ruuullllleeeezzzzz!!!!!!
|
>vous remplissez forcement des polygones pas forcément, mais c - bo... tu peux juste supprimer les portions de lignes cachées... mais ça prend autant de temps qu'un flat filler bien optimisé... - Fred whipple, 1960 *** Ne sous-estimez pas la puissance de la Marmotte *** © Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina |
+sbibi>en fait c pas pour de la 3d que je recherche cet algo...:-) ATARI ruuullllleeeezzzzz!!!!!!
|
ah... dsl - Fred whipple, 1960 *** Ne sous-estimez pas la puissance de la Marmotte *** © Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina |
remplir avec koi ? sinon, tu reperes tous les pts du polygone, tu prend le max, le min, tu fais un rect que tu remplis et apres, tu 'nettoie' les bord |
arf - Fred whipple, 1960 *** Ne sous-estimez pas la puissance de la Marmotte *** © Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina |
C bon! g trouve pile ce que je voulais! (et deja en c :-)) pour ceux que ca interesse : http://www.multimania.com/heulin/3D/chap5.html ATARI ruuullllleeeezzzzz!!!!!!
|
Tu peux découper ton polygone en triangles et appeler FillTriangle sur chacun, ou le découper en quadrilatères et appeler FillLines2 sur chacun. [edit]Edité par Kevin Kofler le 02-11-2001 à 23:38:02[/edit] |
oui, mais pour accélérer encore plus, fais un test pour savoir si c un côté vertical, horizontal, ou à 45°, ça ira déjà +vite - Fred whipple, 1960 *** Ne sous-estimez pas la puissance de la Marmotte *** © Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina |
et cet algo, je viens de regarder, c grave de la merde !!! c hyper-lent ! c bcp mieux celui du black book... par contre, j'ai un gros pbl, et vois pas trop comment faire... j'ai une liste de côtés de définition de polygones à quatre côtés (kevin dirait des quadrilatères x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4; x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4; x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4; x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4; x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4; or lors d'un clipping, il arrive que l'on se retrouve avec 5 sommets ou plus, et pas 4... et coilà, dans ce cas, on a 6 côtés, et je ne peux pas insérer de nouveaux côtés dans la liste, vous avez des idées? (même si elles vous paraissent cons, balancez les !) [edit]Edité par sBibi le 07-11-2001 à 16:01:00[/edit] - Fred whipple, 1960 *** Ne sous-estimez pas la puissance de la Marmotte *** © Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina |
sbibi: je vois pas comment faire. Par contre, tu pourrais poster un lien vers le black book ? EDIT: désolé, j'ai vu le topic sur le black book après. [edit]Edité par XDanger le 07-11-2001 à 17:14:47[/edit] Membre de la TI-Chess Team. Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP. |
Et si tu en faisais 2 quadrilatéres? 1234 et 1456? Sinon, il te faudra approximer l'hexagone par un quadrilatère. (1356 en l'occurrence.) |
argh... approximer, je peux pas, il faut que ce soit exactement comme l'original, par contre, en faire deux quadrilatères, moui, pkoi pas... ce comme après j'ai un tableau à remplir avec les coordonnées de chaque point des lignes, je pensais faire... non, ce sera plus clair comme ça: tableau vide -1;-1 -1;-1 -1;-1 -1;-1 -1;-1 -1;-1 -1;-1 -1;-1 -1;-1 -1;-1 -1;-1 après remplissage par les coordonnées des points (4) -1;-1 8;-1 6;11 4;14 2;17 0;20 -1;23 -1;26 0;29 1;27 2;25 voilà, et après faire un test pour savoir si une colonne verticale est discontinue ou pas: dans ce cas, la première colonne est discontinue, donc vu que les plans de clipping sont les côtés de l'écran, ça donnerait ça: -1;-1 8;-1 6;11 4;14 2;17 0;20 0;23 0;26 0;29 1;27 2;25 mais j'ai peur que ce soit un peu lent - Fred whipple, 1960 *** Ne sous-estimez pas la puissance de la Marmotte *** © Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina |