编程画玫瑰(四叶玫瑰数编程)

2023-11-13 02:31:39 数码极客 bianji01

 

VC6制作玫瑰花

仅供参考:

1、你那个把几个数值和画笔类型改一下就能满足要求

2、给你一个完善的demo参考下

////////////////////////////////////////////////////////////////////

//程序名称:一朵逼真的玫瑰花

//编译环境:VC6.0,EasyX2011惊蛰版

//作者:孙琨

//编写地点:XUST

//编写时间:2013年11月11日

//编写目的:赠给未来可能看到的你

#include

#include

#include

//定义全局变量

introsesiZe=500;

inth=-250;

//定义结构体

structDOT

douBLex;

doubley;

doublez;

doublered;//红色

doublegreen;//绿色

//blue(蓝色)通过red计算

//计算点

boolcalc(doublea,doubleb,doublec,DOT&d)

doublej,n,o,w,z;

if(c>60)//花柄

d.x=sin(a*7)*(13+5/(0.2+pow(b*4,4)))-sin(b)*50;

d.y=b*rosesize+50;

d.z=625+cos(a*7)*(13+5/(0.2+pow(b*4,4)))+b*400;

d.red=a*1-b/2;

d.green=a;

returntrue;

doubleA=a*2-1;

doubleB=b*2-1;

if(A*A+B*B<1)

if(c>37)//叶

j=(int(c)&1);

n=j?6:4;

o=0.5/(a+0.01)+cos(b*125)*3-a*300;

w=b*h;

d.x=o*cos(n)+w*sin(n)+j*610-390;

d.y=o*sin(n)-w*cos(n)+550-j*350;

d.z=1180+cos(B+A)*99-j*300;

d.red=0.4-a*0.1+pow(1-B*B,-h*6)*0.15-a*b*0.4+cos(a+b)/5+pow(cos((o*(a+1)+(B>0?w:-w))/25),30)*0.1*(1-B*B);

d.green=o/1000+0.7-o*w*0.000003;

returntrue;

if(c>32)//花萼

c=c*1.16-0.15;

o=a*45-20;

w=b*b*h;

z=o*sin(c)+w*cos(c)+620;

d.x=o*cos(c)-w*sin(c);

d.y=28+cos(B*0.5)*99-b*b*b*60-z/2-h;

d.z=z;

d.red=(b*b*0.3+pow((1-(A*A)),7)*0.15+0.3)*b;

d.green=b*0.7;

returntrue;

o=A*(2-b)*(80-c*2);

w=99-cos(A)*120-cos(b)*(-h-c*4.9)+cos(pow(1-b,7))*50+c*2;

z=o*sin(c)+w*cos(c)+700;

d.x=o*cos(c)-w*sin(c);

d.y=B*99-cos(pow(b,7))*50-c/3-z/1.35+450;

d.z=z;

d.red=(1-b/1.2)*0.9+a*0.1;

d.green=pow((1-b),20)/4+0.05;

returntrue;

returnfalse;

//主函数

voidmain()

//定义变量

short*zBuffer;

intx,y,z,zBufferIndex;

DOTdot;

//初始化

initgraph(640,480);//创建绘图窗口

setbkcolor(WHITE);//设置背景色为白色

cleardevice();//清屏

//初始化z-buffer

zBuffer=newshort[rosesize*rosesize];

memset(zBuffer,0,sizeof(short)*rosesize*rosesize);

for(intj=0;j<2000&&!_kbhit();j++)//按任意键退出

for(inti=0;i<10000;i++)//减少是否有按键的判断

if(calc(double(rand())/RAND_MAX,double(rand())/RAND_MAX,rand()%46/0.74,dot))

z=int(dot.z+0.5);

x=int(dot.x*rosesize/z-h+0.5);

y=int(dot.y*rosesize/z-h+0.5);

if(y>=rosesize)continue;

zBufferIndex=y*rosesize+x;

if(!zBuffer[zBufferIndex]||zBuffer[zBufferIndex]>z)

zBuffer[zBufferIndex]=z;

intred=~int((dot.red*h));

if(red<0)

red=0;

if(red>255)

red=255;

intgreen=~int((dot.green*h));

if(green<0)

green=0;

if(green>255)

green=255;

intblue=~int((dot.red*dot.red*-80));

if(blue<0)

blue=0;

if(blue>255)

blue=255;

putpixel(x+50,y-20,RGB(red,green,blue));

Sleep(1);

delete[]zBuffer;

getch();

closegraph();

可以让玫瑰花一朵朵出现围成一个桃心的VB程序

首先你要准备一个玫瑰花图片文件,要小一点。

然后在窗体上放12个Image控件,组成一个控件数组,摆成心形,Picture属性设置为你的玫瑰花。Visibel属性全部设置为False。

在窗体上放一个Timer控件。Interval属性设置为1000,每秒显示一朵玫瑰花。

OK!你的心愿完成了!

PrivateSubForm_Load()

Fori=0To11

Image1(i).Picture=LoadPicture(App.Path+"\西安绿博园七彩玫瑰.jpg")

Timer1.Enabled=True

EndSub

PrivateSubTimer1_Timer()

StATIciAsInteger

Image1(i).Visible=True

i=i+1

Ifi=Image1.CountThen

Label1.Visible=True

Timer1.Enabled=False

EndIf

EndSub

怎么用rational rose做类图的实例

怎么用rational rose画uml类图 创建关系,小刚seo为你解答

怎么使用visual foxpro编程编出一个玫瑰花型,就是用"*"来绘制出大概的...

声明:易趣百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系315127732@qq.com
广告位招租
横幅广告