| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Переход в систему |
| Автор: Rickert 14.1.2007, 15:34 |
| Есть вектор. Считаем, что он - является направляющим осью Х. Т.е. Если он имеет значение A(1; 1; 0), то ось новой системы координат Х' находится под некоторым углом к мировой оси Х (изначальной). ^y | | /*A(1; 1; 0) - x' | / | / |/_______>x Вопрос: как построить круг (x = cos(a), y = sin(a)) в новой системе координат Х' ? Пространство трёхмерно, следовательно значение вектора (1; 1; 0) - это просто пример. Значение по z не обязательно = 0. |
| Автор: Aloha 14.1.2007, 16:09 |
| Rickert для простейшего случая (когда оси z и z' совпадают) имеем: ![]() |
| Автор: Rickert 14.1.2007, 16:55 |
| Aloha, у меня трёхмерный случай. ты попробуй, возьми вектор (1; 1; 1). Ты там так просто не построишь окружность в новой системе. Добавлено @ 16:59 И ещё, забыл сказать, что окружность надо строить в плоксоти X'Z', а не X'Y' |
| Автор: Aloha 14.1.2007, 17:27 |
| Rickert Насколько я понял условие – ось x’ новой системы координат совпадает с вектором A. Проблема в том, что в произвольном случае вектор A задает новую систему с точностью до поворота относительно оси x’ (т.е. относительно вектора A), и следовательно – неоднозначно. Короче говоря, задачу надо-бы доопределить. Это (я надеюсь ![]() У систем координат x'y'z' и x'y''z'' ось x' общая, совпадающая с вектором A. |
| Автор: Rickert 14.1.2007, 18:06 |
| Aloha, не понял что ты хотел сказать |
| Автор: Rickert 14.1.2007, 21:09 |
Вот что я имею ввиду:![]() Есть вектор A, исходя из него надо посроить в системе координат штрихованной круг в плоскости X'Z' |
| Автор: Aloha 15.1.2007, 20:43 |
| Rickert Глядя на твои пояснения, подумалось что, возможно, ты имеешь в виду, что вектор A и оси Oy и Oy' лежат в одной плоскости. Вот решение в этих предположениях: ![]() ![]() Добавлено ![]() |
| Автор: Rickert 16.2.2007, 02:49 |
| Нет, всё по другому: берём три угла поворота нашего вектора ко всем мировым осям - строим матрицу поворота, получаем три новых базиса |