Пересечение прямой и квадратной в JAVA - PullRequest
0 голосов
/ 29 декабря 2010

JAVA:

Я работаю над сеткой, где центральной точкой каждого квадрата является целочисленная координата, и я рисую линию между двумя целыми числами, и мне нужно проверить, проходит ли она черезконкретный квадрат сетки, основанный на целочисленных координатах.

Я видел похожие посты / результаты Google, но мои намного более простые, поэтому мне интересно, есть ли простое решение, которое я не могу понять.(Наиболее вероятный)

Ценю любую помощь, которую вы можете оказать!

Ответы [ 2 ]

1 голос
/ 29 декабря 2010
0 голосов
/ 29 декабря 2010

Я думаю, что вы спрашиваете, пересекает ли одна конкретная линия один конкретный квадрат (если эта проблема решена, это относится к любому количеству квадратов).

Попробуй это. Скажем, линия имеет уравнение y = a * x + b, а нижний левый квадрат имеет координаты (x1, y1), а верхний левый угол имеет координаты (x2, y2).

Найдите точки y '= a * x1 + b, y' '= a * x2 + b ("*" для умножения);

тогда, в зависимости от того, y '> y' 'или наоборот, у вас есть интервалы [y', y ''] или [y '', y '], скажите для аргумента, что интервал равен [y', у ''].

(в математической записи [m, n] обозначает все числа> = m и <= n.) </p>

Если [y ', y' '] пересекается с [y1, y2], линия входит в квадрат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...