Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2014, 12:45   #1
RusRUs
 
Регистрация: 21.10.2010
Сообщений: 9
Сообщение перенос и поворот двух векторов

прошу консультацию по теме / задаче:

на плоскости заданы два вектора AB и AC исходящие из точки (A), угол между ними - альфа.

Эту систему векторов перемещаем в точку A1 , причем новое положение вектора AB - A1B1 произвольно.

Надо определить в новом положении координаты (проекции) вектора A1C1.

(угол между векторами A1B1 и A1C1 остается прежним - альфа).
RusRUs вне форума Ответить с цитированием
Старый 12.09.2014, 13:36   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,532
По умолчанию

Решение с помощь матрицы трансформации.
X*A =A1
X*B =B1
X*C= ?
============
X*(A;B) =(A1; B1)
X=(A1;B1) * OBR( (A;B) )
? =(A1;B1) * OBR( (A;B) ) * С
=====
N -размерность нашего пространства (=число координат для задания точки; 2-плоскость /3 - пространство/ 4 -гиперпространство/... )
X -матрица трансформации (перемещения) (NxN)
A, B, C вектора (т.е. матрица у которой одна размерность =1) координат исходных точек (Nx1)
A1, B1 вектора координат новых точек A, В соответственно.

OBR(...) матрица обратная к ....
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 12.09.2014 в 13:41.
evg_m вне форума Ответить с цитированием
Старый 19.09.2014, 13:07   #3
RusRUs
 
Регистрация: 21.10.2010
Сообщений: 9
По умолчанию Уважаемый evg_m

Уважаемый evg_m
Еще раз большое спасибо за оперативно оказанную консультацию на наш запрос, полученный от Вас 12.09.14 .

Постарались разобраться, но, к сожалению нашего опыта и знаний в данной области не хватило на то, чтобы решить хотябы один простой конкретный пример:
Заданы координаты первоначального положения векторов:
Xc=5,Yc=3, Xa=2,Ya=4, Xb=3,Yb=1.
Координаты вектора AC после переноса и поворота:
Xc1=8,Yc1=8, Xa1=7,Ya1=5;
Надо определить координаты конца вектора A1B1 при том же угле альфа между векторами A1B1 и A1C1 (см.рисунок).

[IMG]file:///C:/Users/RU/Documents/perenos%20%20vektorov2.htm[/IMG]


Заранее благодарю за илльюстрацию вашего ответа решением приведенного выше конкретного примера.

Внизу, чтобы не искать, наш вопрос и Ваш ответ (12.09.14).
Будем также благодарны другим консультантам , за решение этой задачи другим или тем же путем.

Наш вопрос (12.09.14)
На плоскости заданы два вектора AB и AC исходящие из точки (A), угол между ними - альфа.
Эту систему векторов перемещаем в точку A1 , причем новое положение вектора AB - A1B1 произвольно.

Надо определить в новом положении координаты (проекции) вектора A1C1.
(угол между векторами A1B1 и A1C1 остается прежним - альфа).

Ваш ответ (12.09.14):

Решение с помощью матрицы трансформации.
X*A =A1
X*B =B1
X*C= ?
============
X*(A;B) =(A1; B1)
X=(A1;B1) * OBR( (A;B) )
? =(A1;B1) * OBR( (A;B) ) * С
=====
N -размерность нашего пространства (=число координат для задания точки; 2-плоскость /3 - пространство/ 4 -гиперпространство/... )
X -матрица трансформации (перемещения) (NxN)
A, B, C вектора (т.е. матрица у которой одна размерность =1) координат исходных точек (Nx1)
A1, B1 вектора координат новых точек A, В соответственно.

OBR(...) матрица обратная к ....
RusRUs вне форума Ответить с цитированием
Старый 19.09.2014, 13:15   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

ТС, из посольства вещаете? Или вас просто очень много?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.09.2014, 15:09   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,532
По умолчанию

Цитата:
Постарались разобраться, но, к сожалению нашего опыта и знаний в данной области не хватило на то, чтобы решить хотябы один простой конкретный пример:
смотри:
1 афинные преобразования на плоскости
2. операции с матрицами (умножение; вычисление обратной) и их частные случаи для матриц 2x2.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 19.09.2014 в 15:15.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построить вектор, элементы которого равны произведению соответствующих элементов двух других векторов Andarg C# (си шарп) 0 25.05.2014 15:11
Сложение двух векторов Shkolota Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 14.05.2013 22:02
Для двух векторов вычислить значение выражения по формуле (Паскаль) prs58 Помощь студентам 10 25.11.2011 00:02
std::transform вывести сумму двух векторов kouphais Общие вопросы C/C++ 2 16.10.2011 22:04
Ввод векторов и матриц, умножение матрицы на вектор и вычисление скалярного призведения двух векторов zverushka Помощь студентам 18 20.02.2009 15:25