-
Notifications
You must be signed in to change notification settings - Fork 2
Другие фракталы
VBrazhnik edited this page Aug 3, 2019
·
1 revision
Кроме множеств Мандельброта и Жюлия в рамках данного проекта также необходимо реализовать как минимум еще один фрактал.
В качестве этого дополнительного фрактала можно выбрать один из алгебраических фракталов.
Ниже приведен список из восьми таких фракталов, которые можно было бы легко реализовать в данном проекте.
Код инициализации переменных, выбор цвета для точки, а также другие детали, — идентичны для всех перечисленных в данной главе фракталов, как и для множества Мандельброта.
Незначительные отличия присутствуют только в формулах самих фракталов, которые и будут приведены ниже вместе с соответствующими изображениями и названиями.
iteration = 0;
while (pow(z.re, 2.0) + pow(z.im, 2.0) <= 4
&& iteration < max_iteration)
{
z = init_complex(
pow(z.re, 2.0) - pow(z.im, 2.0) + c.re,
-2.0 * fabs(z.re * z.im) + c.im);
iteration++;
}
iteration = 0;
while (pow(z.re, 2.0) + pow(z.im, 2.0) <= 4
&& iteration < max_iteration)
{
z = init_complex(
pow(z.re, 2.0) - pow(z.im, 2.0) + c.re,
-2.0 * z.re * z.im + c.im);
iteration++;
}
iteration = 0;
while (pow(z.re, 2.0) + pow(z.im, 2.0) <= 4
&& iteration < max_iteration)
{
z = init_complex(
fabs(pow(z.re, 2.0) - pow(z.im, 2.0)) + c.re,
2.0 * z.re * z.im + c.im);
iteration++;
}
iteration = 0;
while (pow(z.re, 2.0) + pow(z.im, 2.0) <= 4
&& iteration < max_iteration)
{
z = init_complex(
fabs(pow(z.re, 2.0) - pow(z.im, 2.0)) + c.re,
-2.0 * z.re * z.im + c.im);
iteration++;
}
iteration = 0;
while (pow(z.re, 2.0) + pow(z.im, 2.0) <= 4
&& iteration < max_iteration)
{
z = init_complex(
fabs(pow(z.re, 2.0) - pow(z.im, 2.0)) + c.re,
-2.0 * fabs(z.re) * z.im + c.im);
iteration++;
}
iteration = 0;
while (pow(z.re, 2.0) + pow(z.im, 2.0) <= 4
&& iteration < max_iteration)
{
z = init_complex(
pow(z.re, 2.0) - pow(z.im, 2.0) + c.re,
-2.0 * fabs(z.re) * z.im + c.im);
iteration++;
}
iteration = 0;
while (pow(z.re, 2.0) + pow(z.im, 2.0) <= 4
&& iteration < max_iteration)
{
z = init_complex(
pow(z.re, 2.0) - pow(z.im, 2.0) + c.re,
-2.0 * z.re * fabs(z.im) + c.im);
iteration++;
}
iteration = 0;
while (pow(z.re, 2.0) + pow(z.im, 2.0) <= 4
&& iteration < max_iteration)
{
z = init_complex(
fabs(pow(z.re, 2.0) - pow(z.im, 2.0)) + c.re,
-2.0 * z.re * fabs(z.im) + c.im);
iteration++;
}