Найти точку пересечения линий - Java

Узнай цену своей работы

Формулировка задачи:

Необходимо нарисовать точку строго на пересечении линий. Я сделал так,что бы точка приблизительно рисовалась на пересечении,но как вычислить точную точку? Все пересечения делятся на цело на 19,но не могу придумать как полученную точку X Y(20 21)-поставить именно на (19,19). Вот небольшая реализация. Сделал +- 5 пикселей,что бы не целится мышкой ровно на пересечение. Но как это занести в ArrayList(точку (19 19)).
Листинг программы
  1. private final int scale=19;
  2. private ArrayList<Point> pointsOne =new ArrayList<Point>();
  3. private ArrayList<Point> pointsTwo =new ArrayList<Point>();
  4. public void mouseClicked(MouseEvent e) {
  5. super.mouseClicked(e);
  6. int x = e.getX();
  7. int y= e.getY();
  8. double wx=0;
  9. double wy=0;
  10. wx=x%19;
  11. wy=y%19;
  12. if((wx<=5)&(wy<=5)) {
  13. System.out.println(x + " " + y);
  14. if (e.getButton() == 1)
  15. pointsOne.add(new Point(x-5,y-5));
  16. else if (e.getButton() == 3)
  17. pointsTwo.add(new Point(x-5,y-5));
  18. }

Решение задачи: «Найти точку пересечения линий»

textual
Листинг программы
  1. new Point(Math.round(x/19)*19, Math.round(y/19)*19);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.357 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут