Форум: "Потрепаться";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизПасхальные яйца Найти похожие ветки
← →
Rouse_ © (2004-04-25 04:14) [0]Странно... а почему никто не вспомнил прошлогодний кокурс?
Знаю время прошло, но всеже...
Итак, устраивается конкурс на пасхальные яйца.
Победитель (специально не назван) прошлогоднего конкурса предоставлен ниже:procedure TForm1.Button1Click(Sender: TObject);
Var X, Y, sx, sy, tmp1, tmp2: real;
cx, cy, tmp: Integer;
Begin
With PaintBox1 Do
Begin
sx := 1 / 200;
sy := 1 / 200;
X := -2;
While X < 2 Do
Begin
Y := -2;
While Y < 2 Do
Begin
tmp1 := sqr(sqr(X) + sqr(Y));
tmp2 := sqr(X) + sqr(Y) + 2 * Y + 1.5;
cx := round((2 + X) / 6.5 * Width);
cy := round((2 - Y) / 4 * Height);
If tmp1 < tmp2
Then
Begin
tmp := round((20 * (tmp2 - tmp1))) + 150;
If (abs(X) > 1 / 1E40) And
(abs(frac(sqrt(sqr(sin(10 * X) * X + Y) +
sqr(sin(10 * Y) * Y + X)) -
Pi * arctan(Y / X)) / (Pi)) < 0.03)
Then
Canvas.Pixels[cx, cy] := tmp Shl 12
Else
Canvas.Pixels[cx, cy] := tmp
End;
Y := Y + sy;
End;
X := X + sx;
End;
End;
end;
Вперед ребят...
Мы ждем ваших шедевров :)
← →
Rouse_ © (2004-04-25 04:29) [1]Небольшие замечания к конкурсу:
Компоненты не из стандартной палитры Дельфи не используются...
Ограничения по обьему кода не выставляются... (но не более чем вместится в одно сообщение на форум :)
Оценка ведется прежде всего по выразительности результата (картинки).
Если картинки одинаково красивы - победителем становится автор наиболее лаконичного кода...
Приз: а вот приз - это ваш код, победитель, выставляемый в следующем кокурсе в следующем году (если вы сможете перебить нынешнего чемпиона, конечно) :)
PS: Я так думаю это будет увлекательней задачек на выходные ;)
← →
SergP © (2004-04-25 11:36) [2]Вопрос есть:
А что должно быть изображено на картинке?
В смысле обязательно что-нить яйцеобразное?
← →
able © (2004-04-25 12:50) [3]"Яндекс - найдётся всё!" (с) Яндекс
← →
Rouse_ © (2004-04-25 14:22) [4]> [2] SergP © (25.04.04 11:36)
Ну если ты нарисуешь квадрат Малевича (ака черную шахматную клетку Е3) и обзовешь его пасхальным яйцом, то как минимум будешь претендовать на оригинальность :)
← →
SergP © (2004-04-25 14:43) [5]2 Rouse_ © (25.04.04 14:22)
Да просто пробовал.
То что похоже на яйцо, у меня не очень красиво получается. А то что красиво - совсем не похоже на яйцо: В основном какая-то фигня: пауки всякие, один раз даже голая женщина получилась... :-)))
← →
Rouse_ © (2004-04-25 14:45) [6]> [5] SergP © (25.04.04 14:43)
Вот с этого чуть чуть поподробнее, можно даже код выложить :)
← →
SergP © (2004-04-25 15:19) [7]>Rouse_ © (25.04.04 14:45)
>> [5] SergP © (25.04.04 14:43)
>Вот с этого чуть чуть поподробнее, можно даже код выложить :)
пробую экспериментировать таким образом:
Допустим x и y координаты точки. Определяю цвет точки так:
Рассматриваю c как комплексное число с=x+yj
Придумываю какой-нить ряд:
Например С(k)=C(k-1)^3-2*C(k-1)^2+C(k-1)
Исследую его сходимость.
А цвет точки определяю типа по "степени сходимости" ряда
Например:
for i:=1 to 100 do
begin
if c.x*c.x+c.y*c.y>5 then break;
c:=MyFunction(c);
end;
Result:=i;
Теперь закрашиваю точку цветом определяемым в зависимости от полученого результата. Ну и проделываю это для всех точек на image1
А далее смотрю что получилось... если нужно увеличиваю, уменьшаю, сдвигаю рисунок, придумываю другие функции для вычисления следующего члена ряда.
Иногда получаются прикольные вещи.
← →
Rouse_ © (2004-04-25 15:36) [8]Ну вот и выкладывай общий код, что получается :)
← →
SergP © (2004-04-25 23:33) [9]Не думаю что у меня что-то нормально получается с этими фракталами.
Когда найду что-нить действительно достойное, то выложу код...
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c