您的位置:首页 > 理论基础

算法之美---由计算机生成的图像

2014-10-20 12:11 465 查看
发几幅由计算机生成的图像,以展示算法之美.并提供生成图像的算法代码.代码中,一部分是由C++实现,另一部分是由一种我定义的脚本语言实现.

相关软件见:Why数学图像生成工具.

(1)树

/*
unsigned short RD(int i,int j){
double r=i/256.-2,s=j/256.-2,q=r*r+s*s,n=hypot(r+(.866-r/2)/q,s+(r*.866+s/2)/q),
d=.5/log(n);if(d<0||d>1)d=1;return d*(sin(n*10)*511+512);
}
unsigned short GR(int i,int j){
return 0;
}
unsigned short BL(int i,int j){
double r=i/256.-2,s=j/256.-2,q=r*r+s*s;return RD(i,j)*sqrt(q/40);
}
*/

// --------------------------------------------------------------------------------------

unsigned int    CPixelJoukowsky::CalculatePixel(unsigned int i, unsigned int j)
{
double r=i/256.0-2;
double s=j/256.0-2;
double q=r*r+s*s;
double n=hypot(r+(0.866-r/2)/q,s+(r*.866+s/2)/q);
double d=0.5/log(n);

if(d<0||d>1)
{
d=1;
}

float fr = (float)(d*(sin(n*10)*511+512));

unsigned int br = FLOAT_255_TO_BYTE(fr);
unsigned int bg = 0;

float fb = fr*sqrtf((float)q/40);
unsigned int bb = FLOAT_255_TO_BYTE(fb);

return MAKE_RGB(br,bg,bb);
}


View Code

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: