2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Линейная алгебра. Помогите плиз
Сообщение16.12.2009, 00:56 


09/01/09
233
Всем привет. Вот моя проблема.
Мне необходимо на делфи сделать анимацию прямой которая ходит по дуге окружности "туда сюда". Вот собственно и вопрос :
Изображение

На данном выше рисунке необходимо найти(В ДАННОЙ СИСТЕМЕ КООРДИНАТ) $(x_?,y_?)$ при заданных координатах $(x_0,y_0)$ $(x_1,y_2)$ $(x_1,y_3)$ и угол $\alpha_2$ $\alpha_3$. $\alpha$ изменяется с течением времени.

P.s. У меня было две идеи.
1) Запишем уравнение прямой $y=kx+b$ где $k=\tan{(\alpha)}$. Тогда точку можно найти как $y_0=kx_0+b$ и $y_?=kx_?+b$
Длину прямой можно найти по формуле $l=\sqrt {(x_?-x_0)^2+(y_?-y_0)^2}$ Возведя в квадрат и подставляя наши уравнения прямых получим $l^2-(kx_0-kx_?)^2=(x_?-x_0)^2$. Вынося $k$из скобки и перенеся скобку на право получим $l^2=(x_?-x_0)^2-k^2(x_0-x_?)^2$. $\dfrac {l} {\sqrt {1+k^2}}=x_?-x_0$ => $x_?=\dfrac {l} {\sqrt {1+k^2}+x_0}$. Вот получили координату. Только я не уверен в знаках потому ,что во первых если поменять в самом начале $x_0$ и $x_?$ от есть вот так : $(x_0-x_?)$ то в итоге поменяются знаки и будет $x_?=x_0-\dfrac l {\sqrt {1+k^2}}$ ? а во вторых извлекая корень я не учитывал плюс минус перед скобкой ( это надо делать или нет ? ).
2) Намного проще способ. Просто в данной системе координат спроектировать на они вектора и получится $(x_0-l\cos(\alpha),y_0-l\sin(\alpha )) $ . Проверьте пожалуйста правильно ли я знаки учел.

Конечно же если бы мы за место $k$поставили $\tan {(\alpha)}$ то в конечно итоге из 1) мы бы получили 2). Но всё дело в знаках. Совершенно запутался =). Подскажите где не так.

 Профиль  
                  
 
 Re: Линейная алгебра. Помогите плиз
Сообщение16.12.2009, 03:00 


25/08/05
645
Україна
Точка $(x_{?},y_{?})$ легко находится из двух условий
1. Расстояние между точками $(x_{?},y_{?})$ и $(x_{0},y_{0})$ равно расстоянию между точками $(x_{1},y_{1})$ и $(x_{0},y_{0})$.
2. Векторы определяемые точками $(x_{2},y_{2})$, $(x_{0},y_{0})$ и точками $(x_{?},y_{?})$, $(x_{0},y_{0})$ коллинеарны.

Составляете простую систему уравнений и решаете.

То что вы предлагаете нельзя назвать решением. Откуда вы возмете угловой коеффициент $k$ ? Кстати угол $\alpha$ неправильно нарисован, угловой коеффициент $k $не равен тангенсу нарисованного угла.

 Профиль  
                  
 
 Re: Линейная алгебра. Помогите плиз
Сообщение16.12.2009, 08:19 


29/09/06
4552
Вам бы следовало бы явно заявить, что точка $(x_0,y_0)$ является центром окружности, а не какой-то фиксированной точкой плоскости для закрепления одного конца прямой. Мы вынуждены догаываться до этого только из тех соображений, что Вы ничего более про окружность не написали. А $l$ --- радиус?
Так это или не так --- в обоих случаях задачка крайне простая, но плохо (путанно) сформулированная. (Ну и с линейной алгеброй как-то не вяжется).

Похоже, у Вас $$x_?=x_0+R\cos\varphi,\quad y_?=y_0+R\sin\varphi.$$ Обычные полярные координаты. Не знаю, кто такая Дельфи, но во всех языках (Фортран, Алгол, PostScript, TCL, ...) обычно имеется функция $\arctg(\Delta y,\Delta x)$, именно с двумя аргументами, и именно в таком порядке. Она Вам и выдаст нужный угол $\varphi_?=\arctg(y_i-y_0,x_1-x_0)$. Называться она может atan, arg, arctan, ...

 Профиль  
                  
 
 Re: Линейная алгебра. Помогите плиз
Сообщение16.12.2009, 08:27 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
$x_? = x_0 - R \cos \alpha$
$y_? = y_0 - R \sin \alpha$
$R = \sqrt{(x_0-x_1)^2 + (y_0-y_1)^2}$

-- Ср дек 16, 2009 11:30:24 --

Sintanial в сообщении #271877 писал(а):
Проверьте пожалуйста правильно ли я знаки учел.

Правильно :)

 Профиль  
                  
 
 Re: Линейная алгебра. Помогите плиз
Сообщение16.12.2009, 08:36 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
 !  Дубль удалён!

У Вас есть кнопка Изображение и час времени после опубликования для редактирования своих сообщений.

 Профиль  
                  
 
 Re: Линейная алгебра. Помогите плиз
Сообщение16.12.2009, 10:31 


09/01/09
233
Да. Это маленькая часть окружности. Извините что плохо сформулировал. А $l$ это радиус =).

Алексей К. Как раз таки угол нам всегда известен. Мне надо сделать анимацию механической системы. А это только маленькая её часть. Угол я нахожу из другой часть механизма.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group