umafaid
Messages postés6Date d'inscriptionjeudi 1 février 2007StatutMembreDernière intervention30 juillet 2007
-
25 juil. 2007 à 16:50
umafaid
Messages postés6Date d'inscriptionjeudi 1 février 2007StatutMembreDernière intervention30 juillet 2007
-
30 juil. 2007 à 23:35
Bonjour,
je réponds à ce forum parce que j'ai un problème assez similaire à ce que gracerare veut faire sauf que comme le recommande bouye, je n'utilise pas de Line2D mais ma propre classe Ligne qui est constituée d'un tableau d'entiers.
Alors j'ai essayé de faire des calculs mais ça ne marche pas. J'ai dû faire une erreur mais je ne sais à quel niveau
Voilà mon code
// p et pp sont les deux points de la ligne et ppp le point avec lequel on effectue la comparaison
public boolean appLigne(MonPoint p, MonPoint pp, MonPoint ppp)
{
boolean res=false;
float coef=0f; // coefficient directeur de la droite
float a=0f;
int xmin,xmax,ymin,ymax;
eplanet
Messages postés112Date d'inscriptiondimanche 6 juin 2004StatutMembreDernière intervention19 septembre 2007 30 juil. 2007 à 10:47
"j'ai un problème assez similaire à ce que gracerare veut faire", c'est à dire.... Tu pourrais préciser quand même, on ne connais pas par coeur tous les sujets qui ont été postés...
umafaid
Messages postés6Date d'inscriptionjeudi 1 février 2007StatutMembreDernière intervention30 juillet 2007 30 juil. 2007 à 23:35
en fait ce qu e je voulais c'est savoir si un point appartient à une polyligne, j'ai trouvé comment le faire mais il faut que je mette une marge d'erreur. Et j'aimerais savoir comment le faire
/**
* vérifie qu'un point appartient à un segment
* @param p point de début du segment
* @param pp point de fin du segment
* @param ppp point à comparer
* @return true si le point appartient au segment, false sinon
*/
public boolean appLigne(MonPoint p, MonPoint pp, MonPoint ppp)
{
boolean res=false;
float coef=0f;
float a=0f;
int xmin,xmax,ymin,ymax;
int marge=5;
if(p.x=verify){
if ((xmin
/**
* vérifie qu'un point appartient à la ligne
* @param x abscisse du point
* @param y ordonnée du point
* @return true si le point appartient à la ligne, false sinon
*/
public boolean contains(int x, int y) {
boolean verif = false;
MonPoint p = new MonPoint(x,y);
for(int i=0; i<this.size-1; i++){
if (appLigne(points[i],points[i+1],p)==true)
verif=true;
}