Найти точку пересечения линий - Java
Формулировка задачи:
Необходимо нарисовать точку строго на пересечении линий.
Я сделал так,что бы точка приблизительно рисовалась на пересечении,но как вычислить точную точку?
Все пересечения делятся на цело на 19,но не могу придумать как полученную точку X Y(20 21)-поставить именно на (19,19).
Вот небольшая реализация. Сделал +- 5 пикселей,что бы не целится мышкой ровно на пересечение. Но как это занести в ArrayList(точку (19 19)).
Листинг программы
- private final int scale=19;
- private ArrayList<Point> pointsOne =new ArrayList<Point>();
- private ArrayList<Point> pointsTwo =new ArrayList<Point>();
- public void mouseClicked(MouseEvent e) {
- super.mouseClicked(e);
- int x = e.getX();
- int y= e.getY();
- double wx=0;
- double wy=0;
- wx=x%19;
- wy=y%19;
- if((wx<=5)&(wy<=5)) {
- System.out.println(x + " " + y);
- if (e.getButton() == 1)
- pointsOne.add(new Point(x-5,y-5));
- else if (e.getButton() == 3)
- pointsTwo.add(new Point(x-5,y-5));
- }
Решение задачи: «Найти точку пересечения линий»
textual
Листинг программы
- new Point(Math.round(x/19)*19, Math.round(y/19)*19);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д