2014 dxdy logo

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

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


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


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

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

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



Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 17:16 
Заслуженный участник
Аватара пользователя


23/08/07
5500
Нов-ск
Батороев в сообщении #714599 писал(а):
Исходная задача темы неопределима.
Как это понять?

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 17:26 


23/01/07
3497
Новосибирск
TOTAL в сообщении #714602 писал(а):
Батороев в сообщении #714599 писал(а):
Исходная задача темы неопределима.
Как это понять?

Наверное, правильнее говорить "условие задачи неопределенное"(путаюсь)? Т.е. в условии задачи не хватает одного какого-то параметра.

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 17:28 


29/09/06
4552
По-моему, исходная задача вполне корректна.
Пытаюсь взять себя в руки и не садиться писать программку.ps в рабочее время.
Достаточно добавить постоянные скорости или даже зависимости скоростей от пройденного пути.

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 17:31 


05/09/12
2587
Пока писал пост, уже ответили. Откуда мнение, что данных недостаточно? А как же моя полученная картинка? По моему моделированию (да и теоретическим представлениям) получается, что она единственна при любых стартовых положениях точек. Программка пишется за месколько минут.

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 17:36 
Заслуженный участник
Аватара пользователя


06/04/10
3152
_Ivana в сообщении #714611 писал(а):
Программка пишется за месколько минут.

Эта задача не требует программы. "Четыре собаки стартуют с вершин квадрата и каждая бежит к той, что справа".
Время пускаем наоборот и две собаки одеваем в комбинезон-невидимку :wink:

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 17:52 


23/01/07
3497
Новосибирск
_Ivana
Вы в любом случае каким-либо образом должны были сделать привязку к внешней системе координат. Как это у вас получилось (или получится - для Алексей К.), это было сугубо Вашей инициативой - в условии этого нет.
Например, Вы могли оттолкнуться от того, что в начальный момент времени вращение прямой происходит относительно точки, скорость которой направлена вдоль прямой. Тогда Вы получили одну картину. Если же например, за центр вращения принять точку, удаленную в бесконечности, то картина будет иная.

-- 23 апр 2013 22:00 --

nikvic
То, что это "задача преследования" и у меня не вызывает никакого сомнения, но ТС интересовался, как привязаться к внешней системе:
Alvarg в сообщении #713238 писал(а):
Ага, спираль получал, но как получить движение этой точки которую мы фиксируем во внешней системе координат?

Мой ответ: при заданных условиях - никак.

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 18:18 
Заслуженный участник
Аватара пользователя


23/08/07
5500
Нов-ск
Батороев в сообщении #714625 писал(а):
_Ivana
Вы в любом случае каким-либо образом должны были сделать привязку к внешней системе координат.
Почему должны? Должны, чтобы что?

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 18:38 


23/01/07
3497
Новосибирск
TOTAL в сообщении #714639 писал(а):
Должны, чтобы что?

Чтобы выполнить картинку, которую получил(а) _Ivana.

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 18:43 
Заслуженный участник
Аватара пользователя


23/08/07
5500
Нов-ск
Батороев в сообщении #714654 писал(а):
TOTAL в сообщении #714639 писал(а):
Должны, чтобы что?
Чтобы выполнить картинку, которую получил(а) _Ivana.

Захотел сделать картинку - сделал картинку. Где проболема?

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 18:48 


23/01/07
3497
Новосибирск
TOTAL в сообщении #714658 писал(а):
Захотел сделать картинку - сделал картинку. Где проболема?

Батороев в сообщении #714625 писал(а):

Например, Вы могли оттолкнуться от того, что в начальный момент времени вращение прямой происходит относительно точки, скорость которой направлена вдоль прямой. Тогда Вы получили одну картину. Если же например, за центр вращения принять точку, удаленную в бесконечности, то картина будет иная.

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 19:20 


05/09/12
2587
nikvic, если так рассуждать - никакая задача не требует программы, все можно посчитать в уме или на бумажке :-) Но с программой быстрее, проще и нагляднее, плюс я заодно попробовал с разными другими вариантами расстановки, направлений движения и количества собак у меня черепахи :-). И я уже оценил ваше красивое предложение добавить ещё пару черепах и свести задачу к центрально симметричной.
Батороев, заданных начальных условий вполне достаточно, чтобы однозначно получить траектории движения. Разумеется, аналитически они будут описываться по разному в зависимости от выбора нашей системы координат - но это утверждение справедливо для любых кривых вообще.

ЗЫ
Батороев в сообщении #714625 писал(а):
Вы в любом случае каким-либо образом должны были сделать привязку к внешней системе координат. Как это у вас получилось (или получится - для Алексей К.), это было сугубо Вашей инициативой - в условии этого нет.
Например, Вы могли оттолкнуться от того, что в начальный момент времени вращение прямой происходит относительно точки, скорость которой направлена вдоль прямой. Тогда Вы получили одну картину. Если же например, за центр вращения принять точку, удаленную в бесконечности, то картина будет иная.
Я никого ни за что не брал - это не требуется. Достаточно просто формализовать движение каждой точки в зависимости от текущего положения другой.

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 19:21 


29/09/06
4552
Батороев,

я не вращал никаких прямых: такого действительно не было в условии. Двигал точечки потихонечку с заданными скоростями в заданном (каждый раз вычисляемом) направлении. В примере ниже --- скорости разные, и спиральки другой формы.
Можете в коде в красной строчке поменять скорости.

код: (2bodies.ps) [ скачать ] [ спрятать ]
  1. %!PS 
  2. /L 100 def 
  3. /v1 20 def /v2 4 def 
  4. /Nmax 200 def 
  5.  
  6. /dt 1 def %1 v1 v2 2 copy lt {exch} if pop div 10 div def 
  7. /V1s {pop v1} def % code function V1(s)  
  8. /V2s {pop v2} def 
  9. % ---------------------------------- Edit above this line ------------------------------------- 
  10.  
  11. 450 400 translate  
  12. /I 0 def 
  13.  
  14. /XYadd {% x1 y1 x2 y2 --> x1+x2 y1+y2 
  15. 3 -1 roll add 3 1 roll add exch 
  16. } bind def 
  17.  
  18. /XYsub {% x1 y1 x2 y2 --> x1-x2 y1-y2 
  19. 3 -1 roll sub neg 3 1 roll sub exch 
  20. } bind def 
  21.  
  22. /XYdraw {% draw array [x y x y ...] or --mark-- x y x y ... 
  23. dup type /arraytype eq  
  24. {aload length} 
  25. {counttomark dup 2 add -1 roll pop} ifelse  
  26. 2 idiv 1 sub 3 1 roll moveto {lineto} repeat 
  27. } bind def 
  28.  
  29. /Step {% [path1 [path2 s1 s2 x2 y2 x1 y1 
  30.  
  31. I 20 mod 0 eq pop true {% 
  32. gsave .2 setlinewidth 4 copy moveto lineto stroke 
  33. 4 setlinewidth 1 setlinecap 4 copy 
  34. 0 1 0 setrgbcolor moveto 0 0 rlineto stroke 
  35. 0 0 1 setrgbcolor moveto 0 0 rlineto stroke 
  36. grestore 
  37. } if 
  38. /I I 1 add def 
  39.  
  40. 4 copy XYsub 2 copy dup mul exch dup mul add sqrt % s1 s2 x2 y2 x1 y1 dx dy D 
  41. 3 -1 roll 1 index div 3 1 roll div 2 copy 6 2 roll % s1 s2 x2 y2 ux uy x1 y1 ux uy 
  42. exch neg 
  43. 10 -1 roll dup V1s dt mul dup dup 5 2 roll add % s2 x2 y2 ux uy x1 y1 ux ds1 ds1 uy s1new  
  44. 12 1 roll mul 3 1 roll mul exch XYadd % s1' s2 x2 y2 ux uy x1' y1' 
  45. 2 copy counttomark 1 add 2 roll 6 2 roll % s1' s2 x1' y1' x2 y2 ux uy 
  46. 7 -1 roll dup V2s dt mul dup dup 5 2 roll add % s1' x1' y1' x2 y2 ux ds2 ds2 uy s2' 
  47. 9 1 roll mul 3 1 roll mul exch XYadd % s1' s2' x1' y1' x2' y2' 
  48. 2 copy 8 2 roll 4 2 roll 
  49. } def 
  50.  
  51. [ [ 0 0 L -2 div 0 2 copy counttomark 2 roll L 2 div 0 2 copy counttomark 1 add 2 roll 
  52. gsave 1 0 0 setrgbcolor 1 setlinewidth 4 copy 3 0 360 arc stroke 3 0 360 arc stroke grestore 
  53.  
  54. Nmax {Step} repeat pop pop pop pop pop pop 
  55. ] 0 0 1 setrgbcolor XYdraw stroke 
  56. ] 0 1 0 setrgbcolor XYdraw stroke 
  57. showpage 


-- 23 апр 2013, 20:32:19 --

(GSview, под Линуксом --- gv)

(code)

Очень не понравилось, как код смотрится и даунлоадится с тэгом syntax. Так лучше:
Код:
%!PS
/L 200 def
/v1 20 def /v2 4 def
/Nmax 200 def

/dt 1 def %1 v1 v2 2 copy lt {exch} if pop div 10 div def
/V1s {pop v1} def          %{5 div sin 1 add v1 mul} def                  % code function V1(s) 
/V2s {pop v2} def          %{5 div cos 1 add v2 mul} def

%  ---------------------------------- Edit above this line -------------------------------------

450 400 translate
/I 0 def

/XYadd {% x1 y1 x2 y2  --> x1+x2 y1+y2
  3 -1 roll add 3 1 roll add exch
} bind def

/XYsub {% x1 y1 x2 y2  --> x1-x2 y1-y2
  3 -1 roll sub neg 3 1 roll sub exch
} bind def

/XYdraw {% draw array [x y x y ...]  or --mark-- x y x y ...
   dup type /arraytype eq
   {aload length}
   {counttomark dup 2 add -1 roll pop} ifelse 
   2 idiv 1 sub 3 1 roll moveto {lineto} repeat
} bind def

/Step {%  [path1  [path2  s1 s2 x2 y2 x1 y1

   I 20 mod 0 eq pop true {%
      gsave .2 setlinewidth 4 copy moveto lineto stroke
             4 setlinewidth 1 setlinecap 4 copy
             0 1 0 setrgbcolor moveto 0 0 rlineto stroke
             0 0 1 setrgbcolor moveto 0 0 rlineto stroke
      grestore
   } if
   /I I 1 add def

   4 copy XYsub 2 copy dup mul exch dup mul add sqrt       % s1 s2 x2 y2 x1 y1 dx dy D
   3 -1 roll 1 index div 3 1 roll div 2 copy 6 2 roll      % s1 s2 x2 y2 ux uy x1 y1 ux uy
   exch neg
   10 -1 roll dup V1s dt mul dup dup 5 2 roll add          %    s2 x2 y2 ux uy x1 y1 ux ds1 ds1 uy s1new 
   12  1 roll mul 3 1 roll mul exch XYadd                  % s1' s2 x2 y2 ux uy x1' y1'
   2 copy counttomark 1 add 2 roll 6 2 roll                % s1' s2 x1' y1' x2 y2 ux uy
   7 -1 roll dup V2s dt mul dup dup 5 2 roll add           % s1' x1' y1' x2 y2 ux ds2 ds2 uy s2'
   9 1 roll mul 3 1 roll mul exch XYadd                    % s1' s2' x1' y1' x2' y2'
   2 copy 8 2 roll 4 2 roll
} def

[ [ 0 0 L -2 div 0 2 copy counttomark 2 roll L 2 div 0 2 copy counttomark 1 add 2 roll
gsave 1 0 0 setrgbcolor 1 setlinewidth 4 copy 3 0 360 arc stroke  3 0 360 arc stroke grestore

Nmax {Step} repeat

pop pop pop pop pop pop
] 0 0 1 setrgbcolor XYdraw stroke
] 0 1 0 setrgbcolor XYdraw stroke

showpage

 Профиль  
                  
 
 Re: Траектория движения двух точек
Сообщение23.04.2013, 19:39 


23/01/07
3497
Новосибирск
Господа, ПРОШУ ИЗВИНИТЬ ЗА НАВЕДЕННУЮ СМУТУ!!! Сейчас сам порисовал картинки и убедился, что вы правы!
Коль скоро, одна из точек не имеет нормальной составляющей скорости к прямой, следовательно, вращение прямой в любой момент времени происходит вокруг этой точки.

Сегодня с приятелем малехо посидели в кафе. Впредь обещаю задачи с пивом не мешать! :facepalm:

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2

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



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

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


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

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