Таким образом, цель состоит в том, чтобы ориентировать 2 отрезка линии, чтобы найти общие конечные точки с заданным началом и длиной, также есть указание направления, которое указывает вам общее направление, в котором вы находитесь, если вы получите более 1 ответа, тогда мы следует выбрать самый дальний в направлении подсказки. Я посмотрел на многие ресурсы и изучил математику, и я просто не понимаю. Поэтому мне нужна помощь в создании программы на С ++, чтобы заставить эту функцию работать. Вот код:
struct vector3d
{
float x;
float y;
float z;
};
typedef vector3d point3d;
bool intersect_line_segments(
point3d position_0, // origin of first line segment.
float length_0, // length of first line segment.
point3d position_1, // origin of second line segment.
float length_1, // length of second line segment.
vector3d hint_direction, // in the event there are multiple solutions, return the
// one furthest in this direction.
point3d *out_common_end_position) // if result is true, point where both line segments can be
// oriented to end. otherwise uninitialized.
{
// your code here
}
Вот пример:
point3d common_end_position;
bool result= intersect_line_segments(
{0, 0, 0}, // position_0
2.0, // length_0
{2, 0, 0}, // position_1
2.0, // length_1
{0, 0, 1}, // hint_direction
&common_end_position); // out_common_end_position
… would return:
result = true
common_end_position = {1, 0, 1.7321}
Вот ссылка на мой последний пост об этом и всей полезной информации, которую мне дали, но из-за моего Непонимание не может перевести его на код: Предыдущий пост