home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
mandelc.zip
/
julia.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1993-08-01
|
990b
|
52 lines
#include <mem.h>
#include "dllFractal.h"
const char * _export getName(void)
{ return "simple Julia set";
}
void _export calculateFractal(
unsigned int iSizeX,
unsigned int iMaxColors,
unsigned int iMaxIterations,
unsigned char *pData,
double dLimit,
double dxdx,
double dydx,
double dx,
double dy)
{ unsigned int ixi;
// You don't need to write the following stuff in assembler!
// Use a good compiler like EMX for OS/2!
for (ixi = 0,
memset(pData, 0, iSizeX*sizeof*pData),
iMaxColors -= 1;
ixi < iSizeX;
ixi++,
dy += dydx, dx += dxdx
)
{ double xit = dx, yit = dy;
unsigned int it;
for (it = 0;
it < iMaxIterations;
it++)
{ double x2 = xit*xit;
double y2 = yit*yit;
double r = y2 + x2;
if (r > dLimit)
{ pData[ixi] = it
% iMaxColors + 1;
break;
}
r = 2*xit*yit + yit;
xit = x2 - y2 + xit;
yit = r;
}
}
}