通过本次实验,将老师在课堂上讲解的多边形裁剪算法进行具体代码的实现,比如判断顶点是否位于可见区域内,判断多边形顶点是否穿过裁剪窗口,通过深入学习老师上课所讲的内容,结合现有的实现代码,进而得以实现多边形裁剪算法,为了更友好的图形交互界面,在实现了基本算法之后,加入了裁剪窗口的平移和缩放操作,对之前实验加以复习和应用,以及顶点的输入问题,一开始我疑惑为什么鼠标点击的和实际形成的图形有所偏差,在打印出点击的坐标来之后,发现尽管设置了坐标系位于画布中间,但是没有改变点的坐标,所以在鼠标点击的基础上,加入用户输入顶点坐标的选项,这样就可以让图形的大小和位置更加多样化。
2024-03-26 14:30:38 10KB
1
Sutherland-Hodgman算法 分割处理策略:将多边形关于矩形窗口的裁剪分解为多边形关于窗口四边所在直线的裁剪。 流水线过程(左上右下):前边的结果是后边的输入。 亦称逐边裁剪算法
2022-06-05 21:28:28 410KB 裁剪 反走样
1
Sutherland-Hodgman算法(多边形裁剪) VC
1
用Sutherland-Hodgman算法进行多边形裁剪 鼠标画多边形,然后裁剪...算法有点问题,有时正确,有时错误.... 但其中技巧望大家认真看代码
2021-11-24 21:36:33 760KB Sutherland-Hodgman算法 多边形裁剪
1
该算法的基本思想是每次用窗口的一条边界及其延长线来裁剪多边形的各边。多边形通常由它的顶点序列来表示,经过裁剪规则针对某条边界裁剪后,结果形成新的顶点序列,又留待下条边界进行裁剪,…,直到窗口的所有边界都裁剪完毕,算法形成最后的顶点序列,才是结果多边形(它可能构成一个或多个多边形)。 当多边形一个顶点Pi相对于窗口某条边界及其延长线进行剪裁时,不外乎下列四种情况(即裁剪规则): 1、顶点Pi在内侧,前一顶点Pi-1也在内侧,则将Pi纳入新的顶点序列; 2、顶点Pi在内侧,前一顶点Pi-1在外侧,则先求交点Q,再将Q、Pi依次纳入新的顶点序列; 3、顶点Pi在外侧,前一顶点Pi-1在内侧,则先求交点Q,再将Q纳入新的顶点序列; 4、顶点Pi与前一顶点Pi-1均在外侧,则顶点序列中不增加新的顶点。
2021-11-19 21:11:00 6KB 计算机图形学
1
Sutherland-Hodgman算法..........
2021-11-19 16:10:12 15KB Sutherland-Hodgman算法 多边形裁剪
1
扫描线算法 算法步骤:(1)确定多边形所占有的最大扫描线数,得到多边形顶点的最小和最大y值(ymin和ymax)。(2)从y=ymin到y=ymax,每次用一条扫描线进行填充。填充过程可分为四个步骤:a.求交:计算扫描线与多边形各边的交点;b.排序:把所有交点按照递增顺序进行排序;c.交点配对:交点两两配对,表示扫描线与多边形的一个相交区间;d.区间填色:将相交区间内的像素置成不同于背景色的填充色。 其余的可自行百度
2021-11-01 10:17:08 3KB 计算机图形学 中点分割算法
1
可以利用Sutherland—Hodgman实现多边形的裁剪
2021-10-11 17:41:14 10KB Sutherland—Hodgman
1
经典多边形裁剪算法 Sutherland-Hodgman的VC++实现 经典多边形裁剪算法 Sutherland-Hodgman的VC++实现
2021-04-17 10:41:33 55KB 源码 用sutherland mfc的sutherl
1