2009-11-23 1 views
1

Учитывая 2 точки A (x0, y0, z0) и C (x2, y2, z2), образующих отрезок длины «k», каково уравнение для нахождения точки C (x1, y1, z1), помещенной в " k-1 "расстояние от A?Как найти точку, расположенную между двумя точками, образующими сегмент, используя только частичную длину сегмента?

+1

Это вопрос домашнего задания? –

+0

Что делать, если «k - 1» отрицательно? –

+0

Вам нужно уравнение или алгоритм/компьютерная программа? Если вам просто нужно уравнение, это не связано с программированием. –

ответ

1

Это основная математика. Если у вас уже есть классы обработки векторов и точек, вы должны быть в состоянии сделать что-то вроде этого:

Vector direction = C - A; 
direction.Normalize(); 
Point newpoint = A + (k-1) * direction; 

Вам просто нужно

  • разница между точками (дает вектор)

  • скалярное произведение поплавка с вектором (дает новый вектор)

  • добавление точки и вектора (дает новую точку)

+0

Отличное объяснение! Я узнал правильный путь, и теперь он работает :) –

+0

Добро пожаловать :) – Julio

0

Пахнет домашнее задание, а значит, общую идею, но не код:

Получит наклон тока для каждого координату набора (х, у, г). Затем выполните k-1 единиц из A на каждом из вычисленного наклона, чтобы получить координаты новой точки.

+0

Нет домашних заданий, игра: P Pratically У меня есть обычная отправка только расстояния, на котором находятся некоторые объекты, каждый объект имеет общее происхождение и известную цель –