Bonjour,
j'essaye de faire un programme (le premier) avec des tracés de rayons lumineux et avec lequel je voudrai faire des zooms assez importants (d'où l'utilisation de chiffres assez grands).
Pour l'instant je cherche juste à tracer le rayon lumineux jusqu'à ce qu'il rencontre un cercle.
Voilà le code :
Le point final de r2 n'appartient pas au cercle (le println renvoit false) et pourtant r2 rentre dans le cercle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 * Graphics2D g2D=(Graphics2D)g; * g2D.setRenderingHint(java.awt.RenderingHints.KEY_STROKE_CONTROL,java.awt.RenderingHints.VALUE_STROKE_PURE); * Stroke s = new BasicStroke(1.0f,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); * Stroke ini=g2D.getStroke(); * g2D.setStroke(s); * Arc2D.Double cercle1=new Arc2D.Double(100000,200000,100000,100000,0,360,java.awt.geom.Arc2D.CHORD); * System.out.println(cercle1.contains(101010,260000)); * Line2D.Double r2=new Line2D.Double(0,260000, 101010,260000); * g2D.setStroke(s); * g2D.draw(cercle1); * g2D.draw(r2); * g2D.setStroke(ini);
Je ne comprends vraiment rien, je fais peut-être une grosse erreur, mais je ne vois vraiment pas.
Merci d'avance pour vos réponses.
Partager