我是靠谱客的博主 土豪蚂蚁,最近开发中收集的这篇文章主要介绍活性边表算法c语言,图形学复习4——光栅化(画线画圆扫描线反走样算法),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

图形学复习

CH7 光栅化

前几章介绍了几何处理和裁剪变换,接下来的步骤就是光栅化

光栅化是将形式表示的几何图元转换为阵列表示的数据片元的过程,片元中每一个像素对应帧缓冲区中的每一个像素

7.1 线段生成算法

(1)DDA画线算法

设直线表达式为y=mx+b,输入直线两端点坐标(x0,y0)和(xend,yend),可以计算出m=yend?y0xend?x0和b=y0?m?x0

DAA是基于微分运算的线段生成算法,其主要计算式便是δy=mδx:

若|m|≤1则x方向的变化大于y方向的变化,以x方向为主方向,取δx=1根据m计算δy=mδx

若|m|>1则y方向的变化大于x方向的变化,以y方向为主方向,取δy=1根据m计算δx=1mδy

为了有效的避免了斜率为正无穷时xend?x0=0的除零计算,我们将不直接计算m而是直接比较Δy=|yend?y0|和Δx=|xend?x0|的大小确定步长,计算出步长后每一步从的(x,y)更新到(x+xstep,y+ystep)并计算取整即可(注意,像素永远是整数点)

下面是DDA算法C语言版本代码:

void lineDDA(int x0, int y0, int xend, int yend){

int steps, k;

float xstep, ystep;

float x = x0, y = y0;

int dx = xend - x0;

int dy = yend - y0;

if

最后

以上就是土豪蚂蚁为你收集整理的活性边表算法c语言,图形学复习4——光栅化(画线画圆扫描线反走样算法)的全部内容,希望文章能够帮你解决活性边表算法c语言,图形学复习4——光栅化(画线画圆扫描线反走样算法)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部