Найти точку пересечения линий - 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);