1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > c语言编程星号输出图形的步骤 使用C语言打印不同星号图案

c语言编程星号输出图形的步骤 使用C语言打印不同星号图案

时间:2022-07-13 23:16:06

相关推荐

c语言编程星号输出图形的步骤 使用C语言打印不同星号图案

一、画图方法

画一个图,通常可以选择如下方法:

1、画每一个图形,填充形状覆盖的像素。

2、对于图像中每个像素,采样该像素覆盖了什么形状。

第一种就是光栅化(rasterization)算法,第二种包括光线追踪(ray tracing)、光线步进(ray marching)等算法。

第二种做法可以理解为设计一个数学函数,这种方式可以用较少的代码画出复杂的形状。如果要输出文本模式,只用两个符号表示图形,可用这个代码框架:

#include const int w = 30;

const int h = 30;

int f(int x, int y)

{

return /*...*/;

}

int main()

{

int x, y;

for (y = 0; y < h; y++)

{

for (x = 0; x < w; x++)

printf(f(x, y) ? "* " : " ");

puts("");

}

}

二、三角形

1、直角三角形,可以模拟用 ;

#include const int w = 19;

const int h = 10;

int a(int x, int y)

{

return x <= y;

}

int main()

{

int x, y;

for (y = 0; y < h; y++)

{

for (x = 0; x < w; x++)

printf(a(x, y) ? "* " : " ");

puts("");

}

system("pause");

return 0;

}

2、等腰三角形我们可以使用绝对值 , 表示对称轴的 坐标:

#include #include #includeconst int w = 19;

const int h = 10;

int main()

{

int x, y;

for (y = 0; y < h; y++)

{

for (x = 0; x < w; x++)

printf(a(x, y) ? "* " : " ");

puts("");

}

system("pause");

return 0;

}

int a(int x, int y) {

return abs(x - 9) <= y;

}

三、圆盘

圆盘在数学上可定义为一个隐函数 ,那么画一个置于画布中心、半径 8 的圆盘只需要定义 为:

int a(int x, int y)

{

return (x - 10) * (x - 10) + (y - 10) * (y - 10) <= 8 * 8;

}

剩下的代码如一种所示。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。