一、画图方法
画一个图,通常可以选择如下方法:
1、画每一个图形,填充形状覆盖的像素。
2、对于图像中每个像素,采样该像素覆盖了什么形状。
第一种就是光栅化(rasterization)算法,第二种包括光线追踪(ray tracing)、光线步进(ray marching)等算法。
第二种做法可以理解为设计一个数学函数,这种方式可以用较少的代码画出复杂的形状。如果要输出文本模式,只用两个符号表示图形,可用这个代码框架:
#include <stdio.h>
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++)
{
fo