Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.032 c
1-1083072150
Dimitriy
2004-04-27 17:22
2004.05.16
Memo


14-1082553530
kaif
2004-04-21 17:18
2004.05.16
Хулиганство. Законность и моральные аспекты


1-1082980938
Дас Виндовс 45
2004-04-26 16:02
2004.05.16
Как определить язык, используемый по умолчанию?


3-1082701180
BPK
2004-04-23 10:19
2004.05.16
TParameters без базы данных, сам по себе.


1-1083070280
killer
2004-04-27 16:51
2004.05.16
Scrolling в StringList





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский