У меня есть двумерное пространство и луч в этом пространстве.
Мне нужно получить координаты красных прямоугольников в порядке номеров.
Моя попытка: у меня есть начало луча, которое является двойным.
У меня есть значение yaw, которое является направлением в радианах.
Я сделал это, чтобы получить координату следующего красного квадрата.
double tanyaw = Math.tan(yaw);
if ((int) (x + 1/tanyaw) == (int) x) {
x += 1/tanyaw;
z += Math.signum(tanyaw);
} else {
x += Math.signum(tanyaw);
z += tanyaw;
}
Однако:
Это было с yaw = 3*pi/8
обратите внимание, что линия была сделана в программе для рисования и верна лишь приблизительно.