Julia Set - проблема с собственной реализацией Mathematica

Я работаю над собственной реализацией сюжета Julia Set. Я не хочу использовать JuliaSetPlot (однако я очень хочу использовать JuliaSetIterationPoints и JuliaSetCount, просто не знаю, как это сделать).

Я придумал что-то подобное, но у меня проблема, я понятия не имею, что не так и почему это не сработает.

Кто-нибудь может помочь?

математика

firstFun= Function[ {Typed[pixel0, "ComplexReal64"]},
    Module[{i = 1, maksi=100, pixel = pixel0},
    While[i < maksi && (Abs[pixel])^2 < 2,
    temp = (Re[pixel])^2 - (Im[pixel])^2
    Re[pixel] = 2 * Re[pixel] * Im[pixel] - 0.8\[Iota] * Im[pixel0]
    Im[pixel] = temp - 0.8\[Iota]* Re[pixel0];
     i++ ];
    i]];  

''' мой код


person frustratedstudent    schedule 09.01.2021    source источник
comment
Пожалуйста, отредактируйте свой вопрос, чтобы включить полный исходный код, который у вас есть, как минимальный воспроизводимый пример, который могут протестировать другие. Не публикуйте скриншот исходного кода.   -  person Progman    schedule 10.01.2021


Ответы (1)


Этот

firstFun=Function[{Typed[pixel0,"ComplexReal64"]},
  Module[{i=1,maksi=100,pixel=pixel0},
    While[i<maksi&&Abs[pixel]^2<2,
      pixel=2*Re[pixel]*Im[pixel]-0.8*I*Im[pixel0]+
       I*(Re[pixel]^2-Im[pixel]^2-0.8*I*Re[pixel0]);
      i++];
    i]];
compFun[c_]=FunctionCompile[firstFun]

компилируется без каких-либо сообщений об ошибках времени компиляции.

Если я не ошибся, то я думаю, что ваш расчет пикселей можно упростить до

pixel=I*Conjugate[pixel]^2+0.8*Conjugate[pixel0]

Пожалуйста, проверьте все это очень тщательно, чтобы убедиться, что это правильно.

person Bill    schedule 10.01.2021