Y a pas de mal... C'est simplement qu'à la place des problèmes de précisions il y à surtout des risques de dépassement.
Type: Messages; Utilisateur: pseudocode
Y a pas de mal... C'est simplement qu'à la place des problèmes de précisions il y à surtout des risques de dépassement.
Sauf qu'il n'y a volontairement pas de float/double dans mon implémentation. Ce sont des entiers int/long partout. :P
Hum... c'est curieux. Ca voudrait dire que le point n'est dans aucun des triangles déjà construits.
Donc:
- soit il y a une erreur lors de l'update de la taille de la bounding-box
- soit les...
Non, je ne vois pas comment on pourrait faire autrement que de calculer la distance entre 2 points pour avoir... la distance entre 2 point. :aie:
Cela dit tu peux récupérer la liste des segments...
En java, un Path2D n'est pas fermé par nature. Pour fermer le Path2D, il faut tracer une ligne jusqu'au premier point, ce qui se fait simplement en appelant la méthode closePath().
for(Point[]...
Pour utiliser des représentions double, il faut passer par les classes "Shape" du package java.awt.geom
Rectangle2D.Double pour le rectangle
Path2D.Double pour le polygone
Le remplissage se...
C'est normal. Tu definis un tableau de N points, mais tu ne remplis pas toutes les cases du tableau (a cause de ton critère).
Point[] points = new Point[N];
for (int i=0; i<N; i++){
if...
Ah oui. J'avais rajouté une ligne pour debugguer le code et je l'ai laissée. Voila, c'est modifié. :oops:
C'est dans la méthode "computeVoronoi"
// new region start
List<Point> poly = new...
Ce code en particulier ? Non. En tous cas, je ne l'ai pas porté en C#. :aie:
Mais ca ne doit pas être bien compliqué à faire car il n'y a rien de spécifique a Java, et les 2 langages se...
Oui, Commander Keen a raison. Il n'est pas nécessaire de tester si le point est sur le segment. Il suffit de savoir s'il est sur la ligne qui porte le segment.
U un simple calcul de produit...
heu... si tu le dis. J'avoue que je ne vois pas trop où est le problème dans le code original... :koi:
locate() renvoie juste l'un des 3 quadedges du triangle contenant le point p.
Ou alors je...
Dans mon cas, la surrounding-box est beaucoup plus grande que la Bounding box. Donc pas de problèmes.
La routine "inCircle" ne fonctionne que si les points (a,b,c) sont dans le sens trigo:
...
Oui, j'ai vu. Tu travailles directement sur les triangles donc pas de problème pour les énumérer :mrgreen:. Moi je travaille avec la structure QuadEdge donc l'extraction des triangles/régions...
Heu oui. Tout à fait. :oops:
Gros oubli dans mon code que je vais aller corriger de ce pas. Merci ! :king:
Arf ! essaye "long long", ou au pire "float" / "double" ?
J'obtiens cela:
a2 = 9325
b2 = 133832
c2 = 175012
d2 = 7642
det44 = 0 + (412362320) - (5266563450) + (-222207280) - (-8900297300)
--> det44 = 3823888890
8O ???
Si je fais:
boolean b = QuadEdge.inCircle(
new Point(90, 35), new Point(166, -326), new Point(166, 384),
new Point(51, 71)
);
System.out.println("inCircle returns "+b);
Je ne vois pas trop dans quel cas (avec l'algo incrémental) on peut se retrouver dans un cas pareil. :koi: Tu as un exemple ?
Oups. Pas vu que tu as posté un image pendant ce temps là. Je regarde...
Bon. Je ne vois pas trop pourquoi ça marche mieux pour toi, mais tant que ça marche, c'est le principal. :king:
:koi:... En théorie ca devrait marcher moins bien. Les 4 points a,b,c,d sont censés être à l'infini pour que la triangulation respecte le critère de Delaunay.
Hum... C'est vrai que c'est pas clair. Le terme bounding-box est un peu faux.:aie:
(minx, miny, maxx, maxy) sont les "vraies" coordonnées de la bounding-box. C'est à dire les coordonnées X/Y...
C'est plus simple si tu essayes de comprendre la transformation inverse. Si tu regardes la figure 10 (page 97), pour passer de la figure de droite à celle de gauche on met les 2 points "u" et "v"...
Moi ca m'intéresse, spécialement la partie construction de la liste des triangles à partir des quadedges.
Dans l'implémentation Java que j'ai postée, cette partie là est une création originale. Je...
Oui, c'est ca. C'est vrai que je n'aurais pas dû utiliser le même nom entre la méthode et l'attribut. :aie:
Une implémentation Java de l'algorithme de Triangulation de Delaunay incrémentale inventé par Leonidas Guibas et Jorge Stolfi.
http://xphilipp.developpez.com/contribuez/delaunay.png
La classe...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.