Чем заняться в субботний вечер
2 ноября 2005
Рубрика: Интернет и сети.
Автор: .
pic

Мой знакомый (и соавтор по последним статьям, если вы заметили) Игорь Бронников, работавший когда-то на Макинтошах, рассказал, что встроенный в яблочные компьютеры (точнее, в операционную систему) калькулятор очень интересен. Вообще известно, что детище Стива Джобса обгоняет заполонившую Вселенную Windows по удобству работы, изяществу, продуманности, стилю, точнее, даже шику, если можно так говорить о компьютерах и операционных системах. Особенно заинтриговали рассказы о калькуляторе, позволяющем рисовать всякие замысловатые линии и поверхности. Но у нас, в Узбекистане, компьютеры Apple не популярны, найти их довольно трудно, так что о калькуляторе приходилось лишь мечтать. Но Игорь снова помог — нашел в Сети этот самый калькулятор, адаптированный для работы в Windows.

Это здесь — http://www.nucalc.com/gcViewer.exe (скачать демоверсию 3 мб), а на странице http://www.nucalc.com/usersgallery.html можно посмотреть образцы работ, выполненных на этом калькуляторе.

Демонстрационная версия, к сожалению, позволяет лишь просматривать заложенные в калькуляторе примеры, запрещая водить в них изменения или добавлять свои примеры. Но и заложенных образцов, количеством около сотни (линии, поверхности, трехмерные, четырехмерные, в полярных и сферических координатах, комплексные числа с фракталами, многие замечательные кривые, лента Мебиуса, бутылка Клейна) — все это можно рассматривать снова и снова без устали. А самое главное, что эти примеры дают толчок для самостоятельных экспериментов.

Так, например, сразу обратил внимание на уравнение X2+Y2+Sin(4X) +Sin(4Y)=2. Решать его в лоб очень проблематично, вообще трудно придумать процесс, связывающий квадраты значений координат с их тригонометрическим представлением, возможно, это решение какого-то дифференциального уравнения. Но не будем пугать читателя страшными словами, наверняка упоминание страшилок типа «дифференциальный» и «тригонометрический» связано с ужасом контрольных, семинаров, шпаргалок и экзаменов. К счастью, есть метод рисования сложных неявных уравнений без решения их. Все очень просто — приравняем правую часть уравнения переменной k, будем проходить в цикле (точнее, в двух циклах — по X и по Y) плоскость, а цвет каждой точки, красную, зеленую и синюю его составляющие, назначим зависимыми от k. Вот как будет выглядеть программа на VB 6.0

Private Sub Command1_Click()
xmax = 500
ymax = 500
scal = 100
For x = ss To xmax Step ss
For y = ss To ymax Step ss
xx = (x — 250) / scal
yy = -(y — 250) / scal
k = yy ^ 2 + xx ^ 2 + Sin(4 * xx) + Sin(4 * yy)
red = Abs(64 * k * k) Mod 255
green = Abs(32 * k * k) Mod 255
blue = Abs(128 * k * k) Mod 255
Col = RGB(red, green, blue)
If ss > 1 Then Line (x + 120, y)-Step(ss, ss), Col, BF
If ss = 1 Then PSet (x + 120, y), Col
Next y
Next x
End Sub

pic

Здесь переменная ss — шаг прорисовки, задаются их формы. Рассмотрите рисунок, увяжите мысленно его узор с параметрами уравнения. Все остальное в вашей власти, можно издеваться и экспериментировать сколько душе угодно, например, заменять множитель ґ» на любой другой, не обязательно одинаковый для двух синусов, можно синусы менять на косинусы, на синусы суммы, произведения, разности, частного от деления координат. Можно любой компонент возводить в степень, умножать на коэффициент, можно менять зависимости цветов от k — и каждый раз вы будете вскрикивать от восторга при появлении картинки, она всегда будет неожиданной расцветки, ярче и богаче вашей фантазии. Есть чем заняться в скучный субботний вечер — вряд ли вы его проведете с большей пользой и приятнее, чем с этой забавой.
Мои результаты развлечений с этим уравнением выложены на http://arbuz.uz/s_uravnenie.html — сравните с вашими, присылайте самые удачные картинки, размещу на Арбузе.

Orphus system
Подписывайтесь на канал infoCOM.UZ в Telegram, чтобы первыми узнавать об ИКТ новостях Узбекистана
В Telegram
В WhatsApp
В Одноклассники
ВКонтакте