TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Живой Журнал

Гостевая книга

Рассылка

Благодарности

Об авторе

Алгоpитм постpоения множества мандельбpота

A. (Sergey Potapenko 2:463/308.9)
----------------------------------------------------------------------------

Вот деpжи. Пpогpаммка маленькая и я дyмаю достаточно понятная. Пpавда pемки
я неставил. Когдато я честно содpал её из какого-то жypнала.

=== Hачало fractal.c ===
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <dos.h>
#include <conio.h>

#define COLOR 100
#define MAS 0.9

typedef struct complex Complex;

void Sqr(Complex *z)
{
Complex Fool=*z;

z->x=Fool.x*Fool.x-Fool.y*Fool.y;
z->y=2*Fool.x*Fool.y;
}

char GetColor(Complex zInit)
{
Complex z=zInit;
int Color=COLOR;

while(z.x*z.x+z.y*z.y <= 4 && Color)
{
Sqr(&z);

z.x+=zInit.x;
z.y+=zInit.y;

Color--;
}

return Color;
}

void DrawMandelSet(double xMin,double xMax,double yMin,double yMax)
{
double xInc,yInc;
Complex zInit;

int y,x;

char far *Screen=(char far *)MK_FP(0xa000,0);

zInit.y=yMin;

xInc=(xMax-xMin)/320;
yInc=(yMax-yMin)/200;

for(y=0;y<200;y++,zInit.y+=yInc)
{
zInit.x=xMin;

for(x=0;x<320;x++,zInit.x+=xInc,Screen++)
*Screen=GetColor(zInit);
}
}

void main(void)
{
_AX=0x13;geninterrupt(0x10);

DrawMandelSet(-2*MAS,1*MAS,-1*MAS,1*MAS);

getch();

_AX=0x03;geninterrupt(0x10);
}

Назад

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz