《用C语言函数实现心形图案和一箭穿心图案的显示》.pdf
Madeby:micro虾米
Time:2014年2月22 日
图形效果如下图所示:
C语言程序代码:
心形图像的代码
# include
# include
# define U0.06
# defineV 0.025
# define M1.1
# define N1.2
intmain(void)
{
floatx,y;
float m,n;
for (y=2;y>=-2;y-=U)
{
for (x=-1.2;x<=1.2;x+=V)
{
if((((x* +y*y -1)*(x* +y*y -1)*(x* +y*y -1)-x*x*y*y*y) <=0))
printf("*");
else
printf("");
}
printf("\n");
}
getchar();
return0;
}
一箭穿心图形:
C语言程序代码:
/*
注意:程序是在VS2010上运行的
显示此文件图像需要对控制台做些设置
属性——布局:
屏幕缓冲区大小:
宽度330,高度300;
窗口大小:
宽度 ,高度 ;
300 84
属性——字体:
大小:
3*5
*/
#include
# include
# define U0.04 //Y轴方向步进值
# defineV 0.02 //X轴方向步进值
# define P0.9 //P 决定两颗心之间的间距
# define K0.27 //箭轴向直线的斜率
箭与( , )点相对应的距离
# define R0.14 // 0 0
# define B0.03 //B 决定箭轴的宽度
改变内部心形 轴方向的大小
# define M1.05 //M X
改变内部心形 轴方向的大小
# define N1.05 //N Y
# define KW_UP-1 //箭尾上部直线斜率
# define KW_DOWM3.73 //箭尾下部直线斜率
# define KT_R0.58 //箭头右边直线斜率
# define KT_L-3.7 //箭头左边直线斜率
void print_heart_arrow();
intmain(void)
{
print_heart_arrow();
getchar();
return0;
}
void print_heart_arrow()
{
floatx,y;
for (y =1.8;y >=-1.8;y -=U)
{
for ( =-2.8; <=0; +=V)
{
if((((((x+P)*(x+P) +y*y -1)*((x+P)*(x+P) +y*y -1)*((x+P)*(x+P) +
y*y -1)-(x+P)*(x+P)*y*y*y) <=0)) //左侧心形部分
&& ( ( ( (M*(x+P)*M*(x+P) + N*N*y*y - 1)*(M*(x+P)*M*(x+P) +
N*N*y*y- 1