标签:style blog http color ar os 使用 for sp
七芒星魔法阵的功效被记载得不多,只知道大概可以用来召唤。一个人是没有办法发动魔法阵的,但是如果魔法阵被发动,被召唤出来的东西就都是重量级的,比如大天使或大恶魔,甚至是未知的存在或力量。不要高兴,这些重量级的家伙可不会费神去聆听一个“低贱的生物”的愿望,甚至你连看都看不到他们第二眼,不是因为他们看不见,而是召唤者的结局会很惨。据说有以下几种结局:
一 、召唤者什么都忘记了。(所知最好结局)
二 、召唤者在强光下失明。(比较好的结局)
三 、召唤者精神失常。(至少还活着)
四 、召唤者被吓死。(有个全尸)
五 、召唤者被烤焦、开膛、撕碎、断头等等……
六 、有东西吞掉召唤者。
七 、召唤者活着掉入地狱。
八 、召唤者完全消失。(尸体和灵魂都没有了)------------------------------------看了这些召唤者结局,我有种作死的感觉。
之前我发过一篇文章是"算法生成N芒星",其中也包括七芒星。与那篇不同的是,这里将使用混沌的办法生成七芒星,成的图像更为深邃且有分形的效果。
七芒星生成算法:
先生成正七角形的7个顶点,和一个当前点设置为原点;
a.随机选择三角形的某一个顶点,计算出它与当前点的中点位置;
b.将计算出的中点做为当前点,重新执行操作a
由此迭代处理上千万次后,即能生成七芒星图的像素数据。
代码如下:
int p[14];//七个顶点
for (int i = 0; i < 7; i++)
{
p[i*2] = 512 + (int)(480*sin(i*2*PI/7));
p[i*2+1] = 512 - (int)(480*cos(i*2*PI/7));
}unsigned int m_pixels_map[1024][1024];// 像素数据
int count = 40000000;// 迭代次数
for(int n=0;n<count;n++)
{
int v=rand()%7;
x+=p[v*2];
x/=2;
y+=p[v*2+1];
y/=2;
++m_pixels_map[x][y];
}
生成的图像看上去有点糊,但这幅图像的神奇之处在于:当你远离屏幕看它时,七芒星会清晰地显示出来。
下面将对七芒星算法进行些变化,改变其随机数的生成和使用方式,如随机选择与当前顶点有一定关系的顶点做为下一步的运算。
(1)
for(int n=0;n<count;n++)
{
// 不取相邻的两个点
r = rand()%5;
if (r == 0)
{
v = c;
}
else
{
v = (c + r + 1)%7;
c = v;
}
x+=p[v*2];
x/=2;
y+=p[v*2+1];
y/=2;
++m_pixels_map[x][y];
}
(2)
for(int n=0;n<count;n++)
{
// 不取相邻的四个点
r = rand()%3;
if (r == 0)
{
v = c;
}
else
{
v = (c + r + 2)%7;
c = v;
}
x+=p[v*2];
x/=2;
y+=p[v*2+1];
y/=2;
++m_pixels_map[x][y];
}
(3)
for(int n=0;n<count/2;n++)
{
// 不取相邻的两个点
r = rand()%5;
if (r == 0)
{
v = c;
}
else
{
v = (c + r + 1)%7;
c = v;
}
x+=p[v*2];
x/=2;
y+=p[v*2+1];
y/=2;
++m_pixels_map[x][y];
}
for(int n=0;n<count/2;n++)
{
// 不取相邻的四个点
r = rand()%3;
if (r == 0)
{
v = c;
}
else
{
v = (c + r + 2)%7;
c = v;
}
x+=p[v*2];
x/=2;
y+=p[v*2+1];
y/=2;
++m_pixels_map[x][y];
}
(4)
for(int n=0;n<count;n++)
{
// 不取当前点
r = rand()%6;
v = (c + r + 1)%7;
c = v;
x+=p[v*2];
x/=2;
y+=p[v*2+1];
y/=2;
++m_pixels_map[x][y];
}
(5)
for(int n=0;n<count;n++)
{
// 不取当前点及相邻的两个点
r = rand()%4;
v = (c + r + 2)%7;
c = v;
x+=p[v*2];
x/=2;
y+=p[v*2+1];
y/=2;
++m_pixels_map[x][y];
}
相关文章:
算法之美---100幅由程序生成的图像,总有一幅让你感到惊艳[上]
算法之美---100幅由程序生成的图像,总有一幅让你感到惊艳[下]
标签:style blog http color ar os 使用 for sp
原文地址:http://www.cnblogs.com/WhyEngine/p/4073420.html