Найти точку пересечения линий - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д