Допустим, у меня есть строка, определенный в 3-х измерениях следующим образом:Нахождение точки пересечения линии и прямоугольник
class Line{
float startx;
float starty;
float startz;
float endx;
float endy;
float endz;
};
, а также прямоугольник, определенный в 3-х измерениях:
class Rectangle{
float ax;
float ay;
float az;
float bx;
//...
float dz;
};
Как я могу сделать функцию, чтобы определить, в какой точке, если вообще, данная линия и прямоугольник пересекаются?
У вас возникли проблемы с математикой или превращением ее в часть кода? – chris
Я полагаю, что смогу работать на бумаге, но как мне это сделать в качестве кода? Я начал записывать его как все переменные, но он быстро усложнился. Я надеялся, что может быть более простой способ сделать это в коде, возможно, используя матрицы. –
Существует уже хороший ответ на тестирование для пересечения между двумя строками в [http://stackoverflow.com/questions/563198/how-do-you-detect-where-two-line-segments-intersect](http: //stackoverflow.com/questions/563198/how-do-you-detect-where-two-line-segments-intersect). Если вас интересует только проверка пересечения границы линии и прямоугольника, вы можете применить тест пересечения линии по каждой из четырех сторон прямоугольника. – VirtualMichael