Расстояние от точки до прямой

Форум пользователей пакета Maple

Модератор: Admin

Kitonum
Сообщения: 2077
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Сообщение Kitonum » Вт фев 28, 2012 6:02 pm

Edik писал(а):Я пробую расстояние найти. x1,y1,z1 это числа из sol2...

1) А что такое sol2 ? Что Вы вообще ищите этой строкой?

2) Я советую Вам прежде всего разобраться в геометрическом смысле Вашей задачи! Подумайте над тем, что из себя представляет множество точек в пространстве, которое заметает прямая, проходящая через начало координат и точку (1, 1, z0) при изменении z0 . В этом - ключ к решению, которое очень простое!

3) Можно, конечно, решать чисто формально, используя пакет geom3d и не вникать в геометрический смысл. Используя этот пакет, записать сначала уравнение прямой через точки (0, 0, 0) и (1, 1, z0) , а затем в этом же пакете найти расстояние между центром сферы и этой прямой. Получится выражение, зависящее от z0 . Затем командой minimize искать минимум этого выражения.

Edik
Сообщения: 31
Зарегистрирован: Пн мар 22, 2010 3:24 pm

Сообщение Edik » Вт мар 06, 2012 2:00 pm

Не получается разобраться с данным пакетом.
Буду благодарен, если поможете.

Kitonum
Сообщения: 2077
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Сообщение Kitonum » Вт мар 06, 2012 7:49 pm

Edik писал(а):Не получается разобраться с данным пакетом.
Буду благодарен, если поможете.

Решение Вашей задачи с использованием команд из пакетов geom3d и Student[Precalculus]:

restart:
with(geom3d):
point(P1,sqrt(2),2*sqrt(3),sqrt(2)):
point(P2,2*sqrt(2),2*sqrt(3),0):
point(P3,sqrt(2),sqrt(3),sqrt(5)):
point(P4,sqrt(2),0,sqrt(2)):
sphere(s,[P1,P2,P3,P4],[x,y,z]):
Eq:=Equation(s); # Уравнение сферы (исходное)
Eq1:=subsop(4=expand(rationalize(coeff(lhs(Eq),x)))*x, 5=expand(rationalize(coeff(lhs(Eq),y)))*y, lhs(Eq))=0;
Student[Precalculus][CompleteSquare](lhs(Eq1))=0; # Уравнение сферы (упрощённое)
point(C,sqrt(2),sqrt(3),0): # Задание центра сферы
line(L,[point(A,0,0,0),point(B,1,1,z0)]): # Задание прямой через точки A и B
d:=distance(C, L); # Расстояние от центра сферы до прямой L
minimize(d,location);
simplify(%[1]),%[2,1,1]; # Ответ: минимум расстояния и соответствующее значение z0

Edik
Сообщения: 31
Зарегистрирован: Пн мар 22, 2010 3:24 pm

Сообщение Edik » Вт мар 06, 2012 8:44 pm

Спасибо вам огромное! Вы очень помогли :)

Edik
Сообщения: 31
Зарегистрирован: Пн мар 22, 2010 3:24 pm

Сообщение Edik » Чт мар 08, 2012 11:57 pm

При подстановке других координат решение не получается верным. Или всегда выходит один и тот же ответ.