一箭穿两颗心的c语言函数 一箭穿心的函数图像

一箭穿心的函数公式?

用心形方程:x^2-|x|y+y^2=1和直线方程:y=kx+b可以画出

我们提供的服务有:做网站、成都网站制作、微信公众号开发、网站优化、网站认证、枞阳ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的枞阳网站制作公司

k为斜率,可按你的希望调整“箭穿心”的角度(如±45°“穿心”时,k=±1等)b为截距,可按要求调整“箭穿心”的位置(x=0心形对称线上的位置,如b=0.5等

心形公式出自数学家笛卡尔r = Arccos(sinθ),被后世称为“笛卡尔心脏曲线”又叫作“笛卡尔的情书”。

求“一箭穿心” C语言编程

其实这个程序也不难,只要用心形线方程(1-ρ×cosθ)来绘图就可以了。程序如下:

#includegraphics.h

#includemath.h

#define FNX(x1) (int)(x+(x1)*sl)

#define FNY(y1) (int)(MAXY-(y+(y1)*sl))

#define R(theta) 1-pow(cos(1*theta),1)

int sl=50,MAXY;

float x1,y1,xs,ys,r,theta;

/*画心*/

void draw(int x,int y)

{

for(theta=0;theta2*3.14;theta+=0.01)

{r=R(theta);

x1=r*sin(theta);y1=r*cos(theta);

xs=FNX(x1);ys=FNY(y1);

if(theta==0)moveto(xs,ys);else lineto(xs,ys);

}

}

/*画箭头*/

void jian()

{

line(205,235,200,240);

line(200,240,205,245);

line(200,240,214,240);

line(400,240,500,240);

line(485,235,480,240);

line(480,240,485,245);

line(490,235,485,240);

line(485,240,490,245);

line(495,235,490,240);

line(490,240,495,245);

line(500,235,495,240);

line(495,240,500,245);

line(505,235,500,240);

line(500,240,505,245);

line(485,235,505,235);

line(485,245,505,245);

}

/*主程序*/

main()

{int driver=DETECT,mode;

initgraph(driver,mode,"");

setbkcolor(1);

setcolor(4);

MAXY=getmaxy();

draw(280,280);/*左心*/

draw(370,280);/*右心*/

jian();

getch();

closegraph();

}

用c语言编写一箭穿心的图案要怎么编????

你是想用什么实现,用console吗? 如果是,那就用printf()函数,再根据ASCII码表上面显示效果,一行一行地画出来就行了。


文章标题:一箭穿两颗心的c语言函数 一箭穿心的函数图像
本文来源:http://pwwzsj.com/article/hpcdod.html