Closed homeostasie closed 11 years ago
Les termes sont relatifs, mais il n'y a pas de problèmes particuliers tant que myA et myB ne sont pas tous les deux nuls. Si myA est nul (droite horizontale) ou si myB est nul (droite verticale), myA_x + myB_y + myC renvoie toujours un positionnement.
Le 30 janvier 2013 15:38, Thomas notifications@github.com a écrit :
Dans la fonction : Value operator()(const Point& aPoint) On teste les trois positions du point par rapport à la droite : appartient, en dessous, en dessus.
Je me demande qu'elle est le comportement de la fonction si myX = 0 et que la droite est verticale ?
Souhaites-tu que j'implémente une position appartient, à gauche ou à droite de la droite si myX = 0. (qui pose un problème symétrique si myY = 0)
— Reply to this email directly or view it on GitHubhttps://github.com/troussil/convergents/issues/2.
J'ai encore un problème, mais cette fois avec l'utilisation de la fonction. Je pense l'avoir codée correctement :
Value operator()(const Point& aPoint)
{
if (myA*aPoint[0] + myB*aPoint[1] + myC == 0){return 0;}
else
{
return ((myA*aPoint[0] + myB*aPoint[1] + myC) < 0?1:(-1));
}
}
Mais par contre, je n'arrive pas à m'en servir pour regarder la position de aS par rapport à notre droite.
Je pensais faire :
Value predicat = *this(aStartingPoint);
Mais cela me crée une erreur à la compilation :
RayIntersectableStraightLine.h:139:44: erreur: ‘this’ cannot be used as a function
Du coup, je ne sais pas trop comment l'utiliser.
- un opérateur, comme l'operateur(), peut s'utiliser ainsi: this->operator()(aPoint). Mais est-ce nécessaire ici ?
C'est en effet plus simple et plus rapide. Je me suis finalement passé de cette fonction pour écrire la suivante.
J'ai également une question mais qui porte plus sur autre chose. Du coup, j'ouvre une nouvelle issue.
Dans la fonction : Value operator()(const Point& aPoint) On teste les trois positions du point par rapport à la droite : appartient, en dessous, en dessus.
Je me demande qu'elle est le comportement de la fonction si myX = 0 et que la droite est verticale ?
Souhaites-tu que j'implémente une position appartient, à gauche ou à droite de la droite si myX = 0. (qui pose un problème symétrique si myY = 0)