2014 dxdy logo

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

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


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


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

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

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

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

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



Начать новую тему Ответить на тему
 
 Алгоритм правильного замыкания плоской кривой "розы"
Сообщение10.11.2009, 19:18 


10/11/09
4
Доброе время, уважаемые!
В этом выражении $\rho=r\sin k\alpha$,
где $r, k$ постоянные и $k=\frac {m} {n}$. $\alpha$ - угол. Его посчитаем переменной.
Мне не удается найти закономерность изменения значения $\alpha$, для правильного замыкания розы, при дробном коэффициенте $k$.
Что удалось вывести, почти эмпирически:
1 Если $n==1$ или $k$ - целое, то, при нечетном $k$, $\alpha_m_a_x = 180$, при четном же - $\alpha_m_a_x = 360$.
2 Если $k<1$ и является простой дробью, то $\alpha_m_a_x = 360n$, если любое из чисел $m, n$ - четно, иначе $\alpha_m_a_x = 180n$.
Считаю вывод 2 неполным или вовсе ошибочным, потому как результаты, при десятичных дробях (и $k>1$) часто неверны.
Иллюстрирую свой вопрос наскоро собранным примером, где угол считается именно так.
Ошибкой является: 1 - симметрично незаконченный рисунок, 2 - не закрашенный рисунок и 3 - рисунок в, более чем один, проход (проходы можно посчитать по графику, либо, включив анимацию рисования).

 Профиль  
                  
 
 Re: Алгоритм правильного замыкания плоской кривой "розы"
Сообщение11.11.2009, 02:07 
Модератор
Аватара пользователя


11/01/06
5702
Во-первых, числа $m$ и $n$ нужно предполагать взаимно-простыми. Если они не взимно-простые, то их нужно сократить на их НОД.
Во-вторых, $\alpha_{max}=180n$ должно быть только в случае чётного $m$. Чётность $n$ роли не играет.

 Профиль  
                  
 
 Re: Алгоритм правильного замыкания плоской кривой "розы"
Сообщение11.11.2009, 02:48 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
flasher, позволю себе предположить, что это именно Вы на другом форуме спрашивали:
Цитата:
как выяснить угол, при котором кривая будет завершена
И некто brukvalub (справедливо) тыкал Вас с в слово "завершена". А потом "нарисована".

Я пока (сильно спать охота) попробую помочь Вам найти правильное слово.
Вас, похоже, интересует период кривой.
Роза при некоторых (рациональных) значениях параметров (того самого параметра) начинает рисоваться на себе самой, уже ранее нарисованной. Полярный угол стремится к бесконечности, а (видимая) кривая не меняется. Как окружность, проходимая сто тысяч раз.

Так что Вас, видимо, интересует минимальное значение $T>0$, такое, что $r(\alpha+T)\equiv r(\alpha)$ и $\alpha+T}\equiv{\alpha}\pmod{2\pi}$ (а, т.е. просто$T=2n\pi$, $n_{min}=?$).
Поспамши, пересмотрю, ответил ли я на Ваш вопрос, или просто поболтал...

 Профиль  
                  
 
 Re: Алгоритм правильного замыкания плоской кривой "розы"
Сообщение11.11.2009, 03:20 


10/11/09
4
maxal Благодарю Вас! :D
Алгоритм "вычислил" и вроде все теперь работает. Вы практически подтвердили мои, в общем-то почти интуитивные результаты.
Правда эксперименты выявили, таки, приоритет нечетности. Т.е. ключевым моментом стала общая нечетность дроби. Если же отслеживать чет/нечет исключительно делимого ($m$), то кривая, в некоторых случаях, отрисуется наполовину. $\alpha_{max}=180n$ работает именно при полной нечетности. В противном случае приходится удваивать это дело. С сокращением дроби - абсолютная истина! Написал процедуру, все работает отменно.
Поскольку не владею терминологией, хочу спросить: правильно ли я понял аббревиатуру НОД, как Наибольший Общий Делитель?

AKM Ваше предположение - истинно. Ну, а поскольку на том форуме, я, вместо необходимой мне информации, получил кучу орфографического остракизма, то естественным результатом стал вывод, о бессмысленности общения с человеком, который не в состоянии понять задачу, снабженную иллюстрацией... с 3-х попыток - однако.
Здесь, как видите, хватило и одной просьбы. Да и мое невольное косноязычие (уж извините, не специалист я), также не стало преградой в понимании вопроса.
Вам - спасибо душевное за помощь! Только вот, к моему стыду, не особо удалось "переварить" Ваши формулы.

 Профиль  
                  
 
 Re: Алгоритм правильного замыкания плоской кривой "розы"
Сообщение11.11.2009, 03:53 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
flasher в сообщении #260724 писал(а):
правильно ли я понял аббревиатуру НОД, как Наибольший Общий Делитель?
Да, правильно.

 Профиль  
                  
 
 Re: Алгоритм правильного замыкания плоской кривой "розы"
Сообщение11.11.2009, 23:01 


10/11/09
4
AKM Спасибо за участие. Если возможно, просветите пожалуйста, как понимать "?" в $n_{min}=?$?

 Профиль  
                  
 
 Re: Алгоритм правильного замыкания плоской кривой "розы"
Сообщение12.11.2009, 16:14 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
Я тогда думал некачественно, на скорую руку (не учёл то, что полярный радиус здесь может быть отрицательным), поэтому пояснять не буду.
По новой.
У Вас дана функция $r(t)=\sin(kt)$, где $k=\frac mn$ --- несократимая дробь, $t$ --- угловой параметр.
Вам надо найти наименьншее Т, являющееся одновременно периодом ф-ций $x(t)=r(t)\cos t$ и $y(t)=r(t)\sin t$ (если бы было $r(t)\ge0$, то можно было бы искать период только этой функции, и сделть его кратным $2\pi$). То есть надо решить систему уравнений-тождеств $$\begin{cases}x(t)\equiv x(t+T),\\y(t)\equiv y(t+T)\end{cases}$$относительно Т (есть люди, умеющие думать над этим попроще; я к ним не отношусь).
У меня получилось:
$T=n\pi$, если $m,n$ --- оба нечётные;
$T=2n\pi$, если --- хотя бы одно из них чётное.
Решайте, сверяйте.

 Профиль  
                  
 
 Re: Алгоритм правильного замыкания плоской кривой "розы"
Сообщение12.11.2009, 17:25 


10/11/09
4
AKM
Грандиозно!
Очень Вам признателен, за Ваши доступные пояснения. Все теперь стало прозрачно-ясным.
Сверять бессмысленно, ибо Вы показали мне результат, который я искал дня 4, практически интуитивно и нашел, но не понимал - логики. Сейчас мне светло.
Сердечное спасибо Вам!

 Профиль  
                  
 
 Re: Алгоритм правильного замыкания плоской кривой "розы"
Сообщение12.11.2009, 18:22 


29/09/06
4552
Вуаля картинка. Код скопировать в файл Rose.ps и вьючить Постскрипт вьюером.
Параметры можно изменять ручками во второй и третьей строках (защита от сократимости дроби не предусмотрена).
Первый лепесток розы --- зелёный.
Если период перевычислен, то на нем сверху синий должен пройти (m=6,n=2).
Если период недовычислен --- будет криво.
Окаймляющая дуга изображает период.
Красненьким --- проход в два периода.

Изображение
код: (Rose.ps) [ скачать ] [ спрятать ]
  1. %! 
  2. /m 5 def 
  3. /n 3 def 
  4. %-------------Change m, n above this line! --------------------------- 
  5. /k m n div def 
  6. /T n n m mul 2 mod 0 eq {360}{180} ifelse mul def 
  7. /T1 180 k div def 
  8. /dt T1 10 div dup 5 gt {pop 5} if def 
  9. /dr 15 dt mul T div def 
  10. 150 150 translate 
  11. /Helvetica findfont 20 scalefont setfont 100 130 moveto 
  12. (m=)show m 9 string cvs show 
  13. (,  n=)show n 9 string cvs show (,  T=)show T 12 string cvs show (:) show 
  14.  
  15. .2 setlinewidth  
  16. 105 0 moveto 105 0 dt dup 2 div T add {% 
  17.      1 index exch 2 copy cos mul 3 1 roll sin mul lineto dr add} for stroke pop 
  18.  
  19. 1 setlinewidth  
  20. 0 0 moveto 130 0 lineto -3 -3 rlineto 8 3 rlineto -8 3 rlineto 3 -3 rlineto closepath  
  21. gsave fill grestore stroke 
  22.  
  23. 5 setlinewidth 0 1 0 setrgbcolor 
  24. 0 0 moveto 0 1 T1 {dup k mul sin 100 mul exch 2 copy cos mul 3 1 roll sin mul lineto} for  
  25. stroke 
  26.  
  27. 1 setlinewidth 0 0 1 setrgbcolor 
  28. 0 0 moveto T1 1 T {dup k mul sin 100 mul exch 2 copy cos mul 3 1 roll sin mul lineto} for  
  29. stroke 
  30.  
  31. 300 0 translate 
  32. 1 setlinewidth 1 0 0 setrgbcolor 
  33. 0 0 moveto 0 1 T 2 mul {dup k mul sin 100 mul exch 2 copy cos mul 3 1 roll sin mul lineto} for  
  34. stroke 
  35. showpage 

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

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



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

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


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

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