gpt4 book ai didi

algorithm - 扫描线算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:07 27 4
gpt4 key购买 nike

我在实现扫描线算法时卡在了中途(或者你可以说是在开始时)。我遵循奇偶校验即,

for each scanline

edgeCnt = 0;

for each pixel on scanline (l to r)

if (oldpixel->newpixel crosses edge)

edgeCnt ++;

// draw the pixel if edgeCnt odd

if (edgeCnt % 2)

setPixel(pixel);

假设我的三角形有顶点 A(10,10)、B(100, 100) 和 C(200, 30)。现在这个算法的问题是。不能计算点 A,因为如果计算它,则在同一条水平线上没有检测到边缘,因此 A 之后的整条线都将被着色。现在,如果我排除顶点,顶点 C 之前的像素会被着色,但由于扫描不会检测到顶点,因此不会检测到 C,并且它将继续为线着色,直到检测到下一条更高线上的边缘。

有没有标准的解决方案?

最佳答案

如果顶点的方向发生变化,则不要计算在内。如果方向相同,则计数。如果线是水平的,忽略它并检查下一个顶点。

关于algorithm - 扫描线算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12878156/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com