LINUX.ORG.RU
ФорумTalks

Координаты вершин куба по диагонали

 


1

2

Что то не могу сообразить, хотя задача вроде первого курса технического вуза. Даны две точки в декартовой системе координат - M0(x0,y0,z0) и M1(x1,y1,z1) - являющиеся вершинами куба, лежащими на его диагонали. Найти координаты всех остальных вершин куба. Пробовал выразить через сумму векторов, образующих 3 грани куба от точки M0 - получается 3 уравнения с 9 неизвестными, пробовал воспользоваться фактом, что третья грань коллинеарна векторному произведению первых двух - сокращаем число неизвестных до 6. Знатоки математики ЛОРа, есть идеи?

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

i-rinat ★★★★★
()

Как сказал i-rinat, у тебя не хватает данных.

Как-то так:

M1 - M0 = V
v1, v2, v3 - векторы, соответствующие граням.
v1+v2+v3 = V
|v1| = |v2| = |v3|
vi . vj = 0
v1xv2 = v3

tyakos ★★★
()

сдается мне что матрица поворота может быть полезна для решения

anto215 ★★
()

Умножением на матрицу поворота © диагонали куба в пространстве ориентируешь куб так, чтобы x1-x0 = y1-y0 = z1-z0 // рёбра куба параллельны осям координат, т.е. направляющие косинусы векторов M0 и M1диагонали будут совпадать.
Тогда координаты вершин будут:
x0 y0 z0, x0 y1 z0, x1 y0 z0, x1 y1 z0 // нижняя грань
x0 y0 z1, x0 y1 z1, x1 y0 z1, x1 y1 z1 // верхняя грань
Обратным умножением на матрицу поворота получаешь исходные координаты вершин куба.

P.S. Учи аналитическую геометрию и линейную алгебру, пригодится.

quickquest ★★★★★
()
Ответ на: комментарий от Evgueni

Для того, чтобы зафиксировать твёрдое тело в трёхмерии нужна третья точка.

Ага, но ТС вопрошал не зафиксировать, а "найти координаты всех остальных вершин куба."

Поэтому формально результат может быть параметрическим [x(φ),y(φ),z(φ)], где φ — произвольный параметр угла поворота вокруг диагонали куба.

quickquest ★★★★★
()

Как говорили предыдущие ораторы - куб таки можно вращать.

Serg_HIS
()
Ответ на: комментарий от baka-kun

вершин возможных кубов будут две окружности

Жму лапу котик.

Serg_HIS
()
Ответ на: комментарий от tyamur

Тобишь бесконечное множество точек

Не бесконечное множество, а множество точек лежащих на окружностях с извыстными радиусами.

atsym ★★★★★
()

Пробовал выразить через сумму векторов

Зачем такие сложности? Нужно иногда включать голову, а не тупо херачить по методичке. Найди элементарное решение для случая когда грани куба параллельны осям системы координат. Остальное множество решений также просто получается из найденного частного решения, поворотом вокруг заданной точками M0-M1 оси.

no-such-file ★★★★★
()
Ответ на: комментарий от Siado

Ну хорошо. Если учесть планковскую длину, то не бесконечное множество.

tyamur ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.