?

Log in

No account? Create an account

Previous Entry | Next Entry

Вдруг осознал, что ни разу не вертел в руках Лоренцева аттрактора. Вот:
lrz = {
  x'[t] == -3 (x[t] - y[t]),
  y'[t] == -x[t] * z[t] + 26 * x[t] - y[t],
  z'[t] == x[t] * y[t] - z[t] };

ParametricPlot3D [
  Evaluate[{x[t], y[t], z[t]} /. 
     NDSolve[{lrz, x[0] == 5, y[0] == 0, z[0] == 25}, {x, y, z}, {t, 0, 100}]],
  {t, 0, 100}, 
     PlotRange -> {{-25, 25}, {-25, 25}, {0, 50}}, Boxed -> False,
     ColorFunction -> (Hue[#4, 1., 0.9] &), PlotStyle -> Thickness[.0015],
     PlotPoints -> 200 ]



(кликабельно)

Tags:

Comments

( 24 comments — Leave a comment )
rednyrg721
Nov. 2nd, 2011 08:46 am (UTC)
А можно я полуоффтопом посоветую блог по алгоритмическому и фрактальному искусству, мне кажется, Вам понравится :)

www.algorithmic-worlds.net/blog/blog.php
fregimus
Nov. 2nd, 2011 08:51 am (UTC)
Спасибо, любопытно.
fregimus
Nov. 2nd, 2011 08:49 am (UTC)
Bonus
Поиграцца:

Manipulate[
 With [{lrz = {x'[t] == -3 (x[t] - y[t]), 
     y'[t] == -x[t]*z[t] + p1*x[t] - y[t], z'[t] == x[t]*y[t] - z[t]}},
  ParametricPlot3D[
   Evaluate[{x[t], y[t], z[t]} /. 
     NDSolve[{lrz, x[0] == 5, y[0] == 0, z[0] == s}, {x, y, z}, {t, 0,
        100}]], {t, 0, 100}, 
   PlotRange -> {{-50, 50}, {-50, 50}, {0, 50}}, Boxed -> False, 
   ColorFunction -> {Hue[#4, 1., 0.9] &}, 
   PlotStyle -> Thickness[.004], PlotPoints -> 300]],
 {p1, 10, 35, 1},
 {s, 0, 100, 1}]
riki_koen
Nov. 2nd, 2011 11:34 am (UTC)
Re: Bonus
А какая у вас версия Математики? В шестой какие-то проблемы c… как бы это по-русски сказать… с hue-м.
fregimus
Nov. 2nd, 2011 11:37 am (UTC)
Re: Bonus
7 и 8. Попрожуйте с одним аргументом, а если не получится, поделите на 100.0. Мне кажется, проблема может быть еще с разной интерпретацией 4-го аргумента ColorFunction.
riki_koen
Nov. 2nd, 2011 11:47 am (UTC)
Re: Bonus
О каком одном аргументе идёт речь?

Без ColorFunction работает, но выглядит не очень.
fregimus
Nov. 2nd, 2011 11:49 am (UTC)
Re: Bonus
Без ей не видно, что траеткория перемешанная. при малом p1 спирали окрашиваются градиентом (начало красное, а сходится к фиолетовому), а при большем все цвета путаются.

А что за ошибку дает?
fregimus
Nov. 2nd, 2011 11:51 am (UTC)
Re: Bonus
А, попробуйте вот так:

ColorFunction -> (Hue[#4, 1., 0.9] &)

Что-то я там скобки явно не те нарисовал.
riki_koen
Nov. 2nd, 2011 12:00 pm (UTC)
Re: Bonus
Вот так отлично. А почему-то думал, что вы просто мышкой выделили и в ЖЖ вставили, потому не догадался синтаксис проверить.
fregimus
Nov. 2nd, 2011 12:02 pm (UTC)
Re: Bonus
Ура!

А я так выделил и скопировал. Почему-то в 8 (и в 7 только что проверил) так работает!

riki_koen
Nov. 2nd, 2011 12:11 pm (UTC)
Re: Bonus
Отличный, прозрачный код. Я помню, писал практически то же самое на Си на втором курсе университета. Так приходилось самому решать дифуры.

P.S. Уверен, многие читатели наверняка бы порадовались, увидев в вашем журнале тэг «Mathematica» — каннабиоиды всякие и проч.
fregimus
Nov. 2nd, 2011 11:47 am (UTC)
Re: Bonus
Нет, я был неправ: в версии 6 у Hue до 3 аргументов, а аргумент 4 у ColorFunction (значение параметра в ParametricPlot3D) тоже масштабируется на [0;1].

А какой текст ошибки?
riki_koen
Nov. 2nd, 2011 11:51 am (UTC)
Re: Bonus
«An unknown box name ({Hue[#4, 1., 0.9] &}) was sent as the BoxForm for the expression. Check the format rules for the expression»
fregimus
Nov. 2nd, 2011 11:58 am (UTC)
Re: Bonus
Чума. Ничего не понимаю. Если смена скобок не поможет, то даже не знаю, в чем и дело.
sizif73
Nov. 2nd, 2011 01:03 pm (UTC)
> не вертел в руках Лоренцева аттрактора

Валялся на диске флэш, в котором можно было "трехмерно" покрутить, но вместе с диском и помер.
fregimus
Nov. 2nd, 2011 07:30 pm (UTC)
А в Математике можно мышкой крутить. Только я не знаю. как это дело записать.
spamsink
Nov. 2nd, 2011 07:38 pm (UTC)
Я могу подсказать: посмотрите Ashampoo Snap - они на 30 (или 40) дней бесплатно дают, а ближе к концу тестового периода начинают предлагать купить за бесценок (~ 1/3 цены).
lzintusl
Nov. 2nd, 2011 01:48 pm (UTC)
Модная версия
Добавляю в копилку версию на webgl
http://lab.aerotwist.com/webgl/strange-attractor/
fregimus
Nov. 2nd, 2011 09:28 pm (UTC)
Re: Модная версия
Вот это да! Это они прямо на яваскрипте решают дифуры? Или на сервер отправляют их решать?
lzintusl
Nov. 3rd, 2011 12:19 pm (UTC)
Re: Модная версия
Судя по коду, сами считают
spamsink
Nov. 2nd, 2011 04:23 pm (UTC)
А у меня никогда Математики не было, поэтому я так и не узнаю, как он в трехмерности выглядит. :( Кстати, как он выглядит при константах по другую сторону onset of chaos, т.е. когда он еще не странный?
fregimus
Nov. 2nd, 2011 07:29 pm (UTC)
Математику дают на 30 дней даром и за бесценок студентам. Фрегима свою вообще на олимпиаде выиграла. Ну, и в интернетах лежит, само собой, куда ж деваться. Там все лежит.

Пока он еще не странный (параметр p1 мал, например), он сходится к центру одного из дисков. С моей радужной раскраской это как раз очень хорошо видно: диск — плотная спираль, и ор красного края окраска меняется к фиолетовому центру. По мере увеличения траектория «прыгает» с диска на диск, но все равно «зацепляется» и сходится к центру одного из них, хотя и все медленнее и все более зависимо от начальных условий. Ну, а потом начинается полное смешивание, как на картинке. Последовательность цветов, как обычно, R-Y-G-C-B-M.

Вот еще один, но только без цвета: http://demonstrations.wolfram.com/LorenzAttractor/. Достаточно видео посмотреть, там видно это наматывание спирали к центру диска. Можно и Player поставить и поиграть с ним.
spamsink
Nov. 2nd, 2011 07:39 pm (UTC)
Спасибо.
fregimus
Nov. 2nd, 2011 09:29 pm (UTC)
Тут покрутить дают. В FF 7 работает. Шайтан!
( 24 comments — Leave a comment )