![top1.gif (19493 bytes)](images/top1.gif) |
Крутая веб-страничка
Опубликовано в журнале Hard'n'nSoft №9 2001
Стр. 86 |
![cover87.jpg (12605 bytes)](images/cover87.jpg) |
Ну кто, скажите, сейчас
не имеет своей домашней странички? Делов то -
застолбил имя на халявных буме, народе или холме,
оформил прямо в Ворде или ФронтПейдже, закинул
файлы, зарегистрировался везде, где только можно
и пожинаешь прелести всемирной известности. Одна
беда - никто кроме автора и поисковых роботов не
заходит, потому, как фотография типа «Мы с
Толяном в походе у костра» интересна только
Толяну, а рекомендации, например, по выбору Порше
в предыдущей версии Нид Фо Спид заинтересуют
парочку фанатов, но повторно они не зайдут. Можно
еще насобирать в Сети афоризмов или советов по
оформлению и продвижению сайтов, но это только
придаст страничке нафталиновый оттенок.
Внимание, совет! Единственное,
что придаст крутизны вашему детищу, это «Галерея
компьютерной графики»! Если разместить там
изображения, полученные с помощью
математических функций. Многие под компьютерной
графикой понимают фантастические пейзажи,
созданные в 3D MAX натягиванием текстур на объемные
тела с эффектной подсветкой. При всем уважении к
кропотливости такой работы, мы пойдем путем
чисто математическим, ибо с красотой математики
не сравнятся творения мышки и ее коврика.
Создайте форму с кнопками Пуск и End и текстовым
полем для ввода шага (переменная ss). Наберите
показанные ниже процедуры для кнопок и запустите
программу.
(В html отступы пропали, надеюсь,
это не страшно...)
Private Sub Команда1_Click()
pi = 3.14159
xmax = 730
ymax = 530
Randomize (Timer)
'Line (0, 0)-(xmax, ymax), RGB(192, 192, 192), BF
'For i = 1 To 5
r = 282
'Rnd * 76 * i
fi = pi / xmax * 2 + 0.001
For y = 1 To ymax
Step ss For x = 1 To xmax Step ss
qx = r * (Sin(fi * x * y / 500) - 0.5 * Sin(1.95 * fi * y))
qy = r * (Sin(fi * y * x / 500) - 1.5 * Sin(1.85 * fi * x))
red = Abs(qy) Mod 255
green = (Abs(qy + qx) Mod 255)
blue = Abs(qx) Mod 255
Col = RGB(red, green, blue)
If ss > 1 Then Line (x + 50, y)-Step(ss, ss), Col, BF
If ss = 1 Then PSet (x + 50, y), Col
Next x
Next y
'Next i
End Sub Private Sub Команда2_Click()
End
End Sub
![galerea.jpg (16947 bytes)](galerea11/old/krutstr/galerea.jpg)
Уверен, что ничего красивее вы
на своем экране не видели! Программа не сложная.
Объявляются два цикла: по Y и по X проходятся все
точки экрана. А рисуются они цветами, зависимыми
от этих X и Y самым причудливым образом в
переменных qx и qy. Попробуйте поменять параметры в
этих переменных и у вас будут получаться новые
картины для вашей галереи.
![galerea1.jpg (21158 bytes)](galerea11/old/krutstr/galerea1.jpg)
Если освободить от апострофа
цикл по i, то картины будут меняться
автоматически со случайно выбранными
параметрами, заставляя зрителей каждый раз
вскрикивать от восхищения. Если этот цикл
сделать «вечным» и откомпилировать программу
как скринсейвер, то можете и его выложить на
сайте в разделе «Мой софт». Разместив галерею
подобных рисунков (и периодически пополняя ее) вы
почувствуете резко возросшее уважение со
стороны одноклассников, (однокурсников,
сослуживцев…) и в записях Гостевой книги. |