计算机图形/输出原语
计算机图形可以是任何东西,比如美丽的风景、图像、地形、树木,或者任何我们可以想象的东西,但是所有这些计算机图形都是由计算机图形的最基本组件构成的,这些组件被称为图形输出原语或简称原语。原语是用来生成用户所需的各种计算机图形的简单几何函数。一些最基本的输出原语是点位置(像素)和直线。但是不同的图形包提供了不同的输出原语,比如矩形、圆锥曲线、圆形、样条曲线或可能是表面。一旦指定了要显示的图像,各种位置就会被转换为帧缓冲区中的整数像素位置,并使用各种函数在输出显示的二维坐标系中生成图像。
在视频监视器中,位置是使用对应于帧缓冲区中像素位置的整数屏幕坐标来引用的。这些坐标为我们提供了列号(x)和扫描线号(y)。在屏幕刷新期间,帧缓冲区中存储的像素地址以及其他信息用于生成屏幕上相对于屏幕左上角的像素。但是,可以通过使用各种软件命令或硬件控制来修改坐标系的原点。帧缓冲区存储像素位置和其他信息,如要生成到屏幕上的像素位置的强度、颜色。
存储在帧缓冲区中的地址可以是绝对的或相对的。有各种图形软件包允许使用相对坐标来声明输出原语的位置。这种方法用于各种图形应用程序,用于生成绘图等。在这种类型的坐标系中,每个像素位置都使用添加到最后一个像素位置的偏移量来定义。
点函数是图形软件包中最基本的输出原语。点函数包含使用 x 和 y 坐标的位置,用户还可以传递其他属性,如强度和颜色。位置存储为两个整数元组。颜色使用十六进制代码定义。像素的大小等于显示器上像素的大小。
线函数用于生成任何两个端点之间的直线。通常,线函数提供两个像素点的位置,称为起点和终点,由计算机来决定这两个点之间哪些像素落在直线上以生成直线。
当计算机需要确定落在两个给定点之间的像素的位置以生成直线时,它需要一些算法。有许多方法用于绘制直线。最常用的是 DDA 和 Bresenhams 直线绘制算法。线 DDA 基本上取直线的两个端点,然后在路径上一次输入一个像素。