Вам понадобится
  • Декартовы, полярные и сферические координаты концов отрезка
Инструкция
1
Рассмотрите для начала прямоугольную декартову систему координат. Положение точки в пространстве в этой системе координат определяется координатами x,y и z. Из начала координат к точке проводится радиус-вектор. Проекции этого радиус-вектора на координатные оси и будут координатами этой точки.
Пусть у вас теперь есть две точки с координатами x1,y1,z1 и x2,y2 и z2 соответственно. Обозначьте за r1 и r2, соответственно, радиус-векторы первой и второй точки. Очевидно, что расстояние между этими двумя точками будет равно модулю вектора r = r1-r2, где (r1-r2) - векторная разность.
Координаты вектора r, очевидно, будут следующими: x1-x2, y1-y2, z1-z2. Тогда модуль вектора r или расстояние между двумя точками будет равно: r = sqrt(((x1-x2)^2)+((y1-y2)^2)+((z1-z2)^2)).
2
Рассмотрите теперь полярную систему координат, в которой координата точки будет задаваться радиальной координатой r (радиус-вектор в плоскости XY), угловой координатой ? (углом между вектором r и осью X) и координатой z, аналогичной координате z в декартовой системе.Полярные координаты точки можно перевести в декартовы следующим образом: x = r*cos?, y = r*sin?, z = z. Тогда расстояние между двумя точками с координатами r1, ?1 ,z1 и r2, ?2, z2 будет равно R = sqrt(((r1*cos?1-r2*cos?2)^2)+((r1*sin?1-r2*sin?2)^2)+((z1-z2)^2)) = sqrt((r1^2)+(r2^2)-2r1*r2(cos?1*cos?2+sin?1*sin?2)+((z1-z2)^2))
3
Теперь рассмотрите сферическую систему координат. В ней положение точки задается тремя координатами r, ? и ?. r - расстояние от начала координат до точки, ? и ? - азимутальные и зенитный угол соответственно. Угол ? аналогичен углу с таким же обозначением в полярной системе координат, а ? - угол между радиус-вектором r и осью Z, причем 0<= ? <= pi.Переведем сферические координаты в декартовы: x = r*sin?*cos?, y = r*sin?*sin?*sin?, z = r*cos?. Расстояние между точками с координатами r1, ?1, ?1 и r2, ?2 и ?2 будет равно R = sqrt(((r1*sin?1*cos?1-r2*sin?2*cos?2)^2)+((r1*sin?1*sin?1-r2*sin?2*sin?2)^2)+((r1*cos?1-r2*cos?2)^2)) = (((r1*sin?1)^2)+((r2*sin?2)^2)-2r1*r2*sin?1*sin?2*(cos?1*cos?2+sin?1*sin?2)+((r1*cos?1-r2*cos?2)^2))