A voir également:
- Classe de points et segments.
- Créer une carte avec des points - Guide
- Points de suite word - Guide
- Point de restauration - Guide
- Points gps - Guide
- Retrouver photo de classe gratuitement ✓ - Forum Vos droits sur internet
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
14 janv. 2014 à 07:36
14 janv. 2014 à 07:36
"L'ensemble des points" c'est une représentation de l'esprit, mais pour le décrire formellement tu n'as besoin que des deux points A et B. La ligne imaginaire qu'il y a entre les deux et l'ensemble des points qu'elle implique (qui est infinie !) n'a pas besoin d'être spécifiée dans ta classe.
Du coup, sur le même principe que ta classe point tu aurais :
Finalement, tu savais déjà faire ;-)
Du coup, sur le même principe que ta classe point tu aurais :
public class Segment { Point a; Point b; public Point(Point a, Point b){ this.a=a; this.b=b; } }
Finalement, tu savais déjà faire ;-)
Merci de ta réponse!
Si j'avais mis l'ensemble des points c'est parce que je veux savoir aussi si un point fait parti d'un segment, ou bien si deux segment se croisent. il faut que je rajoute des fonctions mathématiques dans ce genre?
Si j'avais mis l'ensemble des points c'est parce que je veux savoir aussi si un point fait parti d'un segment, ou bien si deux segment se croisent. il faut que je rajoute des fonctions mathématiques dans ce genre?
public class Line { Point a; Point b; public Line(Point a, Point b){ this.a=a; this.b=b; } public Point croisement(Line ab, Line cd) { //formules de maths qui retourne un point } public void appartient(Point a, Line cd){ //oui ou non } }
les formules de maths seraient un truc comme ça:
https://forums.commentcamarche.net/forum/affich-3376777-algo-detecter-deux-segments-qui-se-croisent
https://forums.commentcamarche.net/forum/affich-3376777-algo-detecter-deux-segments-qui-se-croisent
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
14 janv. 2014 à 18:15
14 janv. 2014 à 18:15
Oui, pour ce genre de besoins ce sont les méthodes qu'il faut utiliser, modifier la structure de l'objet n'apporterait rien de plus.
Pour les formules tu peux regarder le lien que l'on t'as donné. Attention cependant à ne pas confondre une ligne et un segment et à bien prévoir les cas où il n'y a pas d'intersection.
Il faudra aussi revoir les signatures de tes méthodes car telles quelles elles sont fausses.
Pour les formules tu peux regarder le lien que l'on t'as donné. Attention cependant à ne pas confondre une ligne et un segment et à bien prévoir les cas où il n'y a pas d'intersection.
Il faudra aussi revoir les signatures de tes méthodes car telles quelles elles sont fausses.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
14 janv. 2014 à 19:57
14 janv. 2014 à 19:57
Les signatures c'est le type de retour, le type des arguments, et les mots clés de la méthode.
C'est la partie visible de la classe (contrairement au code qui n'est pas directement accessible).
La méthode s'applique déjà à l'objet courant qui est de type Line, donc il faudrait un seul argument Line, si tu en as deux ça veut dire que tu fais l'intersection de trois lignes...
Même principe, l'argument de type Line rentre en conflit avec l'objet courant, en plus ici tu as un type de retour à void ce qui ne correspond pas à l'objectif de ta méthode.
Tes signatures devraient être :
Ou éventuellement avec le mot clé static, mais ça ne se justifie pas vraiment ici.
C'est la partie visible de la classe (contrairement au code qui n'est pas directement accessible).
public Point croisement(Line ab, Line cd)
La méthode s'applique déjà à l'objet courant qui est de type Line, donc il faudrait un seul argument Line, si tu en as deux ça veut dire que tu fais l'intersection de trois lignes...
public void appartient(Point a, Line cd)
Même principe, l'argument de type Line rentre en conflit avec l'objet courant, en plus ici tu as un type de retour à void ce qui ne correspond pas à l'objectif de ta méthode.
Tes signatures devraient être :
public Point croisement(Line cd) public boolean appartient(Point p)
Ou éventuellement avec le mot clé static, mais ça ne se justifie pas vraiment ici.
public static Point croisement(Line ab, Line cd) public static boolean appartient(Point a, Line cd)