БЛОГФорумСсылки Написать письмоПочему Арбуз? Служебная UN ЕЖЕ-движение - международный союз интернет-деятелей

Этюды из жизни комплексных чисел

полный текст с программами (опубликовано в сокращении в Компьютерре #6/2000)

Истинное знание достигается не размышлением. Оно есть
то, чем вы являетесь; оно есть то, чем вы становитесь.
Шри Ауробиндо. Путешествие сознания.

Не слабо сказано, задумайтесь. Но если не претендовать на истинное знание, то может и будет польза от размышлений. Угадывая в дымке будущего черты «Цифрового века» увидим там не только симбиоз человека с наночипами и умную бытовую технику, но и разумные организмы, живущие на экране. И сподручнее других именно «Терре», посвятившей №289 «Искусственной жизни» и держащей руку «на пульсе» обзорами Игоря Гордиенко, если не «организовать и возглавить», то «подталкивать информацией» энтузиастов. Непременно хочется поговорить о фракталах. Слово новое, красивое, уже есть фирмы с таким названием, (можно даже назвать породистого кота, это будет почище, чем Брэндон или Круз Кастильо). Вряд ли кто не видел невероятной красоты картины, рисуемые присутствующими в Сети фрактальными программами. Но для дальнейшего разговора нам надо размежеваться на две команды: первая, посмотрев на фрактальный узор, подавив зарождающийся зевок, говорит «красиво» и возвращается к повседневной суете. Вторая, надо понимать, читатели «Терры» (бывшие читатели «Химии и жизни», как было неоднократно очерчено), заболевают ими навсегда, как это было с игрой «Жизнь» или с флексагонами. Не отпускает знакомое второй группе состояние-наваждение: «А что, если попробовать поменять параметр…», возвращаешься через некоторое время, «отрываешься» до следующей идеи.

fr2.jpg (21041 bytes)

Для новичков и колеблющихся из первой команды дадим краткое введение для предстоящего разговора. Тому, кто интересуется математикой, наверняка известен ковёр Серпинского. У мэтра популярной математики Мартина Гарднера найдём, что ещё в 1905 году на ежегодной математической олимпиаде в Венгрии предлагалась задача: «Квадрат разделён на 9 частей (как для игры крестики-нолики) и центральный квадрат удалён. Затем каждый из оставшихся 8 квадратов разделён на 9 частей, центральный квадрат удалён и процедура повторяется многократно. Найти предел, к которому стремится площадь полученной фигуры». Так вот – полученная фигура и есть ковёр Серпинского – квадрат настолько дырявый, что он уже ближе к линии. Известны множество объектов, застрявшие на полпути от одного измерения к другому, например, по аналогии с ковром можно представить куб Серпинского, трухлявый как губка, почти не обладающий объёмом. Для таких объектов создано направление математики – теория размерностей, занимающаяся серьёзными приложениями, например, вычисление длины береговой линии из-за изломанности формы не подающееся простым вычислениям.

Нас же интересуют более красивые модели. Например, если у треугольника каждую сторону разделить на три части и на центральной построить правильный треугольник (снаружи, получим шестиугольник – так называемая Звезда Давида, но можно и внутрь), потом с каждой стороной повторить эту операцию, то получим »снежинку». С каждым повторением операции снежинка будет всё пушистее, а суммарная длинна её отрезков (периметр) может быть сколь угодно длинной. Она может умещаться на почтовой марке и всё же быть длиннее, чем расстояние от Земли до самой далёкой звезды! Кривая-снежинка – один из красивейших представителей бесконечного множества кривых, названных паталогическими из-за своих парадоксальных свойств. При неограниченном увеличении числа звеньев длина ломанных в пределе стремится к бесконечности, хотя площадь заключённого внутри ломанных участка плоскости остаётся конечной. Ещё два маленьких замечания: к предельной кривой ни в одной точке нельзя провести касательную, а площадь снежинки стремится к 8/5 от площади исходного треугольника (проверьте!). Надо ли ещё объяснять, что такое фрактал? Это многократное повторение вычислительного и графического процесса, приводящее к объектам с нецелой размерностью: уже не линия, но ещё не плоскость. Даже если это популярное объяснение совсем не передаёт сути процесса, это не помешает нам поиграть с фрактальными картинками на экране и полюбоваться на них.

Самым интересным открытием, непосредственно связанным с фракталами, является множество Мандельброта. Оно названо так по имени Бенуа Р. Мандельброта, математика из Исследовательского центра им. Томаса Уотстона при IBM, впервые предложившего термин «фрактал» для описания объектов, структура которых повторяется при переходе к все более мелким масштабам. Он же обнаружил фрактальные свойства у множества, получающегося при итерационных вычислениях с комплексными числами (множество Жюлиа по имени математика, описавшего его в 1916 году). Многие авторы оспаривают первенство Мандельброта, ссылаясь на более ранние работы, но название, тем не менее, закрепилось (как-то же множество надо называть). Подробности выяснения приоритета можно найти в журнале «В мире науки» (Scientific American) №6/1990 г. Однако вернемся к множеству. Суть его состоит в следующем. Берется комплексное число. К сожалению, сейчас комплексные числа исключили из школьной программы, а это один из красивейших разделов математики. Комплексное число состоит из реальной (обычного числа) и мнимой части. Мнимая часть содержит квадратный корень из -1, i=sqr.gif (215 bytes). Если на плоскости по горизонтальной оси откладывать реальные числа, а по вертикальной – мнимые, то каждому комплексному числу будет соответствовать точка на этой плоскости. Разработаны правила действий с комплексными числами, основанные на том, что i в квадрате равно минус 1 i^2= -1. Комплексные числа имеют прикладное значение во многих областях науки, являются основным аппаратом для расчетов в электротехнике и связи. Выбранное число возводится в квадрат и прибавляется какое-то фиксированное постоянное число. Потом эта простейшая операция повторяется многократно с получающимся каждый раз новым комплексным числом и результат проверяется. В зависимости от начальных чисел могут быть три варианта: процесс пошел вразнос, число резко растет, уходит «из поля зрения», это не интересно; число быстро уменьшается и исчезает, еще менее интересно; да, да, теперь самое потрясающее. При некоторых начальных значениях новые числа группируются внутри некоторой области, а при отображении их на плоскости появляются невероятные изображения. Простейшая итерационная формула Zнов=Z^2стар + С, соответствующая множеству Жюлиа, нарисует подобие куклы-неваляшки. Края ее размыты, как бы лохматые. Опустившись в них при увеличении изображения, мы попадем в волшебную страну фрактальных узоров, смотри рисунок 2.

Никто нам не мешает возводить не в квадрат, а, например, в куб, или в другую степень. Особенно интересно, если задать цвет как функцию от реальной или мнимой части, то мы увидим елочки, колючих головастиков, клеточные организмы как под микроскопом, и такое, что просто не с чем сравнить для описания. К полученным картинам никто не сможет остаться равнодушным, они запоминаются, манят к себе, требуют поменять параметры и насладиться еще более красочной картиной. Привожу изображение первого полученного мною биоморфа – организма, живущего на экране. Алгоритм жизни: Zнов=Z^9стар + С реализован на Turbo Pascal’e. Из множества фантастических изображений (трудно остановиться…) предлагаю рассмотреть рисунок. В синем организме (видно при крупном масштабе) со страшными черными колючками плавают три зеленых организма, содержащие по три голубых, красных, розовых, желтых… Программа буквально в несколько строчек, (текст смотри в конце), поиграйте с биоморфами, они хорошие. И вряд ли вы найдете более толковое применение вашему компьютеру.

 

Поговорим о чепухе.

– Разве это чепуха? – сказала Королева и затрясла головой.
– Слыхала я такую чепуху, рядом с которой эта разумна, как
толковый словарь!
Льис Кэрролл. Алиса в Зазеркалье.

Мы для того и размежевались, чтобы услышать от первой команды, что все последующие размышления – бред и чепуха. Вторая команда тоже скажет – чепуха, и, может, так оно и есть. Почему же фракталы так красивы? Так сказочно, обворожительно, волнующе (какие еще есть эпитеты?) красивы. Так красивы, что материалисты-циники, с усмешкой отбрасывающие многочисленные брошюры, выводящие наличие Бога из красоты окружающего мира, просто в недоумении. «Когда передо мной прекрасный часовой механизм, я невольно думаю об авторе, сотворившем его» – восклицал Бенедикт Спиноза. Размышления и восторги по поводу красоты фракталов, может, и не приведут нас в Церковь (наверное, этого недостаточно), но оставят в изумлении. Ведь если красота горных вершин, звездного неба или морского прибоя ожидаема, привычна (а как же иначе?), то откуда же берется красота возводимых в квадрат комплексных чисел?

Математика вся пронизана красотой и гармонией, но одно дело математика предметная, имеющая дело с реальными вычислениями и измерениями, и совсем другое дело комплексные числа. Ведь они выдуманы человеком, искусственно назначившим правила их существования и действия над ними. В этом отношении они сродни шахматам – искусственно придуманным правилам жизни некоторых объектов. И тоже несущих в себе красоту, (помимо спортивного азарта). Как-то, разбирая партии Капабланки, я был поражен, сколько в них интриги, остроумия и изящества. (К сожалению, позже, особенно с приходом Петросяна, красота партий шахматистов верхних эшелонов стала менее доступной для простых любителей, постоянные неочевидные попытки улучшения труднопонятных позиций, но, скорее всего, я просто слаб в шахматах.)

Непременно перечитайте «Солярис». И не только описание оживающих из подсознания существ, перед которыми мы виноваты, а описание Океана. «Относительно гладкую «шапку» полюса окружает пространство, продырявленное, как решето, отверстиями внутренних камер и тоннелей. В целом эта формация является трехмерной моделью какого-то уравнения высшего порядка. … Скорее, это охватывающая несколько кубических километров модель целой математической системы, причем, модель четырехмерная… Перед нами какая-то «математическая машина» живого океана, созданная в соответствующих масштабах модель расчетов, необходимых ему для неизвестных нам целей». Напомню, что Станислав Лем писал «Солярис» в 1959-1960 годах, когда не только с фракталами не определились, но и «математические машины» делали самые первые шажочки. А Океан «уже» создавал временные гигантские фрактальные математические машины для неведомых нам своих океанских вычислений.

Это и есть реализация «делокализованного Операционного Принципа» идущего, по мнению Юрия Романова, автора статьи «Начало математической философии?», на смену нынешнему дискретно-цифровому. Но имеют ли фракталы практическое применение для наших (а не Океанских) задач? В стареньком журнале «В мире науки» №5/1990 в заметке «Фракталы сжимают изображение» рассказано о секретном запатентованном алгоритме сжатия изображения. Изображение представляется как фрактал и каким-то образом находится формула, рисующая этот фрактал. Объем, занимаемый формулой в миллионы раз меньше объема, занимаемого изображением. В этой же заметке приводятся осторожно-недоверчивые и скептические оценки специалистами этой затеи. Прошедшее десятилетие подтвердило эти оценки, так как фрактальные «сжимальщики» изображений до сих пор неизвестны. Вопрос же интересен вот с какой точки зрения: если мы по формуле нарисуем фрактал и потом, по его конфигурации каким-то образом найдем снова формулу, то она будет отличаться от первоначальной, хотя и будет рисовать нужный рисунок правильно.

Ситуация похожа на игру Жизнь, где мы не можем однозначно найти конфигурацию, предыдущую к данной. Или, опять же, на шахматы, где по заданной позиции нельзя точно указать предыдущую (хотя все начинается с исходной позиции). Между прочим, если вы поставите пароль на BIOS, а потом воспользуетесь программой, вскрывающей этот пароль, то она вам выдаст совсем другой пароль, не ваш, но тоже подходящий. Пример, может и не совсем по теме, но тоже какая-то «правильная неоднозначность».

Для определения направления дальнейших размышлений наберусь наглости предложить свой рассказ, опубликованный в ташкентском журнале «КомпьюТел» №6\98.


fr4.gif (44821 bytes)


Новый антитакан «ФА»

В заповедных и дремучих
Старых муромских лесах
Всяка нечисть бродит тучей,
И в проезжих сеет страх
Владимир Высоцкий

Утро было самое обычное, (так просто обязаны начинаться все приличные правдивые рассказы) и ничего не говорило о том, что этот день прославит его на весь мир. Фа шёл как обычно на работу пытаясь понять какое у него настроение – больше хорошее или больше плохое. Хорошее перевешивало – завтра суббота, дискотека, там снова увидится с Анной, постарается поболтать, потанцевать, может даже проводить или даже предложить встретиться среди недели. Плохое же отступало на задний план, но не уходило, а ныло в «фоновом режиме» неотступно уже почти год: его, блестящего математика, сильнейшего в потоке и на факультете, распределили в эту идиотскую лабораторию №327.

Бывшие однокурсники, гораздо слабее, но попавшие в престижные организации, донимали шутками насчёт дихлофоса и педикулёза, он смеялся, но было обидно. И Фа старался не думать об этом, чтоб не раскручивать «кисляк», но имел в виду при первой же возможности поменять работу. Фа – кличка, он к ней привык и по другому его никто не звал. Фа – потому, что его звали Фаддей Фаридович Файзуллаев, то есть даже не одно, а целых три «Фа». Он пришёл в лабораторию первым – надо провести очередную серию опытов, руководство приходит позже, если вообще приходит. Фа включил компьютеры: на четырёх запустил плановые тесты, а на пятом решил поэкспериментировать сам. После загрузки, как обычно, появилась заставка WINDOWS-2004 с приглашением, а через несколько секунд и такан – противный мерзкий организм на экране, для борьбы с которым и была создана Лаборатория №327 при Комитете.

Комитет имел десятки лабораторий во всех частях света, даже под водой и на орбитальной станции, все занимались проблемой таканов. Фа вызвал программу, выдающую на экран зелёный шарик. Такан пополз к шарику. Сверху появились ешё два, раньше невидимые, такана и направились к шарику. Первый такан, опередив других, слопал шарик, и компания медленно расползлась по сторонам. Фа «насыпал» ещё несколько шариков. Таканы стали ползать за ними и пожирать. Фа добавил ещё, появились новые таканы, и скоро весь экран представлял собой отвратительное зрелище: косяк таканов, поедающих зелёные шарики.

Эту картину Фа наблюдал ежедневно и ежечасно – Лаборатория № 327 искала отраву для таканов. Были поставлены тысячи опытов: меняли цвет и размер шариков, их количество и взаимное расположение. Отдельной темой проверялась форма корма: таканы не ели треугольники и квадраты, предпочитая более плавные фигуры – 8, 12, 24-х угольники а лучше всего круг, залитый зелёным цветом. Из всех цветов таканы выбирают зелёную составляющую, игнорируя синий и красный лучи экранной трубки. Любимый размер шариков – около 20 пикселей в диаметре или 5-6 миллиметров в зависимости от разрешения экрана. За мелкими они не гонялись, а крупные не могли «заглотнуть».

Другие лаборатории занимались самыми разными формами борьбы с таканами: экранированием, фильтрами, спецмодемами, насадками, ловушками и другими электронными и программными примочками. Таканов пытались выловить, оградить, локализовать, заразить, смыть, стереть, развалить, стерилизовать и т.д., но пока человечество проигрывало в борьбе с этими противными но безобидными тварями. Откуда они взялись? Этот вопрос интересует всех, он изучен вдоль и поперёк, постоянно появляются новые факты, часто противоречивые, десятки журналистов сделали имена, освещая проблему со всех сторон. А мы имеем то, что имеем - нет ни одного компьютера, на котором не появлялись бы таканы. Они ничего не портят, сидят на экране и ждут, если на экране появится зелёный шарик, они его съедят. При этом может нарушиться изображение, его можно восстановить, но они опять съедят.

А началось всё… большинство историков за начало принимают последний год прошлого ХХ века, когда вдруг резко возрос интерес к фракталам. В каждой школе, во всех НИИ, КБ, на кафедрах и погранзаставах, на кораблях и даже в шахтах появились кружки любителей фракталов, а точнее фрактальных изображений на экране. Телевидение, пресса, Интернет – всё было насыщено последними достижениями фрактальщиков. Занимались и маститые академики с заумными статьями в журналах и любители, не имеющие понятия о теории размерностей и комплексных числах. Прогресс, благодаря массовости и обмену информацией, превзошёл самые смелые ожидания. В Новосибирском и Масачуссетском университетах одновременно нашли способ заставить фрактальную картинку перемещаться по экрану. Юное дарование Ашрабинд – школьник из Бомбея научил их питаться цветными пикселями, студенты из Сингапура – размножаться. Вся армия хакеров и вирусописателей подключилась к «общему делу» и, в результате, на всех экранах появились таканы. На новый «чистый» компьютер они попадали через модем и телефонную сеть, через сеть питания, а последние – через радиоволны от соседних компьютеров.

Человечество было в шоке. Созданы уйма комиссий – президентские, при ООН, Юнеско, НАТО, на всех фирмах и заводах. В министерствах и правительствах разработаны мероприятия, назначены сроки, ответственные и исполнители, премии и фонды… а таканы ползают и лопают зелёные шарики. В 2002 году назначен Международный Комитет, разработана очередная программа, созданы Центры и Лаборатории, в одной из которых (№327) трудился Фа. Он испытал немало разных приманок: вместо шариков предлагал таканам пентаграммы, звёздочки, фигуры Лиссажу разных форм, свастику, решётки, скобки, разные буквы и символы. Результат тот же: таканы ели круглые и выпуклые и отказывались от острых и колючих фигурок.

Вдруг Фа насторожился – что-то произошло, что-то новое, пока непонятное. Фа повторил последние действия – вывел символ » @ ». Такан съел и повёл себя как-то странно – затих, задрожал и медленно уполз с экрана. Что-то подсказывало Фа, что он на правильном пути, но где он этот путь? Снова и снова выводя @ Фа убедился, что таканы, съев его, заболевают, становятся вялыми, пассивными. В чём же дело? Конечно в форме символа @ – спираль, раскручивающаяся против часовой стрелки. Фа попробовал создать и предложить таканам разных спиралек: разной ориентации, числом веток и крутизны. Так и есть – таканы болеют от спиралек, раскрученных против часовой стрелке, но едят они не все спиральки, а только плавные, похожие на круг. Почему, почему? Да, вдруг понял Фа, потому, что в основе таканов лежит спираль – раскрутка по формуле Муавра возведения комплексных чисел в степень и она раскручивается по часовой стрелке. И еда с другой ориентацией этим тварям «в лом». Делом пары минут было создать фрактальный зелёный шарик с «с вредной» ориентацией. Первый же такан, съевший его на глазах Фа рассыпался и исчез. Это была победа, такая долгожданная!!!

Что было дальше – понятно. Фа связался с шефом, тот с Центром, тот, в свою очередь, с Комитетом. «Шарики Фа» сразу были включены во все Антитаканы и экраны были очищены от гнусных тварей. Фа моментально стал самым знаменитым человеком в мире. Через два месяца появились таканы, поедающие синие шарики и не боящиеся ориентированных фрактальных спиралек Фа. А тот, к тому времени уже владелец Антитакановой фирмы, проанализировал их структуру и создал синие шарики с противоположной структурой…

Ещё через три месяца всё повторилось, потом ещё и ещё… Так все и живём: иногда вылезают всё-таки на экран всякие твари, приходиться запускать «Антитакан Фа», который, в свою очередь, приходиться постоянно обновлять…

Конец цитаты, как говорят дикторы TV. Замечу в скобках, что в Компьютерре №11/99 в теме номера «Искусственная жизнь» рассказано об организмах, поедающих зеленые островки пищи. Совпадение говорит, что мы, возможно, движемся в нужном направлении.


Негромкий крик души.

– Тсс! Прошу соблюдать тишину! Моя идея – идея фикус!
Она имеет для всех нас только хорошие стороны – и ни
одной плохой. Так слушайте же вы… В чем исключается
моя заключительная. То есть наоборот! В чем заключается
моя исключительная идея. Вы берете и делаете так…
Лев Кассиль. «Кондуит и Швамбрания.»

Компьютер перестал использоваться для написания программ. На нем играют, считают, рисуют, пишут музыку, посылают почту, беспрерывно набирают тексты. Один знакомый, недавно купивший компьютер, спросил меня, зачем нужны языки программирования, разве не все программы написаны? Разве не все слова сказаны? Ведь каждый тестик на Бейсике умножает знания всего человечества. Если вам наплевать на человечество, и на то, что, не программируя из-за лени и нелюбопытства, вы разрушаете свою Карму (есть такие гипотезы), то вспомните, что писать программу просто приятно. Это единственная возможность проверить свои фантазии и догадки. У меня всегда, начиная с ЕС, СМ и Спектрума, что-нибудь крутилось, ползало по экрану, рождалось, хрюкало и расцветало. Короче говоря, предлагаю всем, имеющим доступ к ПК (первая команда отдыхает), не заниматься ерундой, а писать программы, и лучшей темы, чем фракталы, не найти. Занудам, которым недостаточно красоты фрактальных организмов и необходима материальная отдача, придется представить, что здесь кроется разгадка возникновения жизни, понимание устройства кровеносной системы, мозговых извилин, ореховой скорлупы, хлопковой коробочки и прочих таинственных вещей. Не терпится поделиться двумя моими личными достижениями в этом направлении. Во-первых, Turbo Pascal рисует только шестнадцатью цветами. Для получения полноценной RGB-палитры я использовал (ни за что не догадаетесь) FoxPro, точнее Visual Foxpro 6.0, предназначенный для работы с базами данных и не имеющий графики. Почему именно FoxPro?

fr3.jpg (26050 bytes)

Потому что я в нем «сижу» постоянно на работе, привык к нему и даже люблю его. Точки вплотную выводятся на экран в цикле с цветом, RGB-составляющие которого зависят от значения итерационного расчета возведения в степень комплексного числа, полученного из текущих координат точки. Красный цвет, например, может зависеть от реальной составляющей полученного числа, зеленый – от мнимой составляющей, а синий – от самого замысловатого их сочетания. Но не буду лишать вас чудесных минут поиска красивых организмов. Во-вторых, использование формулы Муавра позволяет возводить комплексное число не только в квадрат или куб, но и любую дробную и даже отрицательную степень. Для этого координаты каждой точки переводятся в полярные координаты, и потом полярный угол умножается на показатель степени. Незначительные хлопоты с капризным арктангенсом и обходом деления на ноль тысячекратно компенсируются невиданной красотой появляющихся организмов, например, смотри рисунок 

fr1.jpg (25595 bytes)

Ну, вот и все. Давайте поработаем, создадим на экране организмы, научим мыслить, подружимся с ними и попросим (не заставим!) помогать нам. Чтобы не прослыть пустопорожним болтуном привожу тексты программ на Turbo Pascal’e…

PROGRAM biomorph;
USES CRT,GRAPH,DOS;
LABEL 1;
VAR RE,IM,RE1,IM1: REAL ;
V,M,T,SIZE,X,Y,KX,KY,X1,Y1,KX1,KY1,Z,Z1,X2,Y2 : INTEGER;
JJ,W,I,R1,R2,R3,ROP,X36,Y36,X72,Y72,B,D : INTEGER ;
B1,K,J,I1,I2,I4,I3,I5,I6 : INTEGER ;
C,S1: STRING;
P : POINTER ;
Q,E,RR: REAL ;
procedure GrInit; { инициализация режима графики }
var GraphDriver : Integer; { для графического адаптера }
GraphMode : Integer; { для графического режима }
ErrorCode : Integer; { для кода ошибки } begin GraphDriver:= Detect; { режим автоопределения } InitGraph(GraphDriver,GraphMode,'');
ErrorCode:=GraphResult; { результат инициализации }
if ErrorCode <> grOk then { если не успешно, то ...} begin Writeln('Ошибка графики:',
GraphErrorMsg(ErrorCode));
Writeln('Программа остановлена.'); Halt (1) end {if} end;
PROCEDURE QWA ;
BEGIN
RE1:=RE*RE-IM*IM ; IM1:=2*RE*IM ; RE:=RE1 ; IM:=IM1 ;
END ;
PROCEDURE KUB ; BEGIN RE1:=RE*(RE*RE-3*IM*IM) ; IM1:=IM*(3*RE*RE-IM*IM) ; RE:=RE1 ; IM:=IM1 ; END ;
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
BEGIN
GRINIT; SETFILLSTYLE(1,15) ; BAR(0,0,640,480) ; X:=-320 ;
REPEAT Y:=-240 ;
REPEAT V:=0 ; RE:=-1.+0.001*X ; IM:=0+0.001*Y ;
REPEAT KUB; RE:=RE+1.00003 ; IM:=IM+1.01828201638 ;
IF RE*RE > 50 THEN GOTO 1 ;
IF IM*IM > 50 THEN GOTO 1;
V:=V+1 ;
UNTIL V>40 ;
1: IF ( ABS(RE) > 10 ) OR ( ABS(IM) > 1000) THEN BEGIN
PUTPIXEL((X+320),(Y+240),TRUNC(V+8)) ; END
ELSE PUTPIXEL((X+320),(Y+240),0);
Y:=Y+1 ;
UNTIL Y > 241 ;
X:=X+1 ;
UNTIL X>320 ;
C:=READKEY ; CLOSEGRAPH; END.

И на FoxPro 6.0 for Windows 95/98
*******************программа для FoxPro 6.0****************
SET CONS OFF
SET SCORE OFF
SET SAFE OFF
SET ECHO OFF
SET STATUS OFF
SET SYSMENU OFF
SET DEFAULT TO c:\vfp98\bio
WITH _Screen .Caption="Программа просмотра фракталов. Версия 1.0 от 02.04.1999"
&& Set a caption
ENDWITH
IF NOT WEXI("BIO")
DEFI WIND BIO AT 0,0 SIZE 54.5,190 ; TITLE 'О К Н О П Р О С М О Т Р А Ф Р А К Т А Л О В' ; FLOAT CLOSE GROW ZOOM MINIMIZE SYSTEM
ENDI ACTIVA WIND BIO
&&SAME SET COLOR TO N/N
M=2 S=1 && величина шага
ON KEY LABEL ALT+X DO VIHOD
CLEAR FOR X=-50 TO 49 STEP 0.12*S
FOR Y=-20 TO 23 STEP 0.08*S
RE=-0.7+0.05*X*M
IM=-0.3+0.075*Y*M
FOR V=0 TO 12
*DO QWA
*DO KUB
MUAVR(3.5)
RE=RE+1.1
IM=IM-0.9
IF abs(RE) > 2.0
EXIT
ENDIF
IF abs(IM) > 80
EXIT
ENDIF
NEXT V
SET COLOR TO rgb(INT(ABS(4*RE)),; INT(ABS(4*IM)),; INT(ABS(64*V)),; 220,220,220)
@Y+20,X+50 SAY '.' FONT 'ARIAL',6*s STYLE 'TB'
NEXT Y
NEXT X
WAIT DO VIHOD
RETURN
********************************* FUNC MUAVR *********
PARAMETER N
RAD=SQRT(RE*RE+IM*IM)
ALPHA=ATAN(IM/(RE+0.250))
RADD=EXP(N*LOG(RAD))
RE=RADD*COS(ALPHA*N)
IM=RADD*SIN(ALPHA*N)
RETURN
*****************************************************
PROCEDURE VIHOD
*****************************
SET SYSMENU
ON CLEAR ALL
SET DEFAULT TO c:\vfp98\bio
CANCEL
RETURN

Ну, вот и все пока, но еще есть куча идей...


Автор about me
Design by dady_MYKC
)c( 2000-2019
Kопирайта нет, копируйте на здоровье :)

100112 лет в Интернете


.