用心形方程:x^2-|x|y+y^2=1和直線方程:y=kx+b可以畫出
我們提供的服務有:做網(wǎng)站、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、樅陽ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的樅陽網(wǎng)站制作公司
k為斜率,可按你的希望調(diào)整“箭穿心”的角度(如±45°“穿心”時,k=±1等)b為截距,可按要求調(diào)整“箭穿心”的位置(x=0心形對稱線上的位置,如b=0.5等
心形公式出自數(shù)學家笛卡爾r?=?Arccos(sinθ),被后世稱為“笛卡爾心臟曲線”又叫作“笛卡爾的情書”。
其實這個程序也不難,只要用心形線方程(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();
}
你是想用什么實現(xiàn),用console嗎? 如果是,那就用printf()函數(shù),再根據(jù)ASCII碼表上面顯示效果,一行一行地畫出來就行了。