Sutherland–Hodgman算法

✍ dations ◷ 2025-06-07 11:03:30 #计算机图形学,算法

Sutherland–Hodgman算法是裁剪多边形的算法。它通过轮流延长每个凸多边形的边,并且只选择在可见一侧的顶点来完成任务。

该算法从目标多边形中所有顶点的输入列表开始。接下来,剪裁多边形的一条边在两个方向上无限延伸,同时遍历目标多边形的边。如果输入列表中的顶点位于扩展的剪裁多边形线的可见侧,则它们会插入到输出列表中,并且目标多边形与剪裁多边形的延长后的边相交的顶点会添加到输出列表。

使用一个阶段的输出列表作为下一个阶段的输入列表,对每个剪辑多边形侧重复进行此过程。剪裁多边形的所有边都经过处理后,最终生成的顶点列表将定义一个完全可见的新单个多边形。请注意,如果目标多边形在剪裁多边形外部的顶点处凹入 ,则新多边形可能具有重叠的边缘——这对于渲染是可接受的,但不适用于其他应用程序,例如计算阴影。

给定一个剪裁多边形的一组边,和一个目标多边形的顶点列表,下面的过程将目标多边形根据剪裁多边形进行剪裁。

   List outputList = subjectPolygon;        for (Edge clipEdge in clipPolygon) do      List inputList = outputList;      outputList.clear();          for(int i = 0 ; i < inputList.count ; i += 1) do         Point current_point = inputList;         Point prev_point = inputList;             Point Intersecting_point = ComputeIntersection(prev_point, current_point, clipEdge)             if (current_point inside clipEdge) then            if (prev_point not inside clipEdge) then               outputList.add(Intersecting_point);            end if            outputList.add(current_point);                  else if (prev_point inside clipEdge) then            outputList.add(Intersecting_point);         end if          done   done

当算法终止时,将在找到裁剪后多边形的顶点。请注意,如果它位于该边缘作为多边形的剩余部分的相同侧上的点被定义为边缘 。如果剪裁多边形的顶点始终沿逆时针方向列出,那么这等效于测试该点是否位于直线的左侧(left表示 ,right表示 ),这可以通过简单地使用叉积 实现。

是一个函数,为清楚起见在此省略了该函数,它返回线段和无限边的交点。请注意,仅在已知存在这种相交的情况下才调用它,因此可以简单地将两条线都视为无限长。

相关

  • 乳房重建乳房重建为一整形手术,目的是为了重整女性乳房的外形,令之看起来跟平常人无异。这有别于隆胸和缩胸,因为在那些情况,病者的乳房除了过大和过小之外,外观并无不妥。常见的乳房重建
  • 奥古斯特·罗丹奥古斯特·罗丹(Auguste Rodin,1840年11月12日-1917年11月17日),全名为弗朗索瓦-奥古斯特-雷尼·罗丹(François-Auguste-René Rodin),法国雕塑家。虽然他常被看作现代建筑的先驱,但
  • 平方納米平方纳米(符号为nm²)是面积的公制单位(SI Unit),其定义是“边长为1纳米的正方形的面积”。(1cm²=1000000nm²) (1mm²=100nm²) (1µm²=0.000001nm²)平方尧米、平方佑米(Y
  • 陆英陆英可以是:
  • 孙家鼐孙家鼐(1827年-1909年),字燮臣,号容卿、蛰生,别号澹静老人。安徽省凤阳府寿州(今淮南市寿县)人,晚清状元、政治家。咸丰九年(1859年)状元,授翰林院修撰。出湖北学政,升侍讲、侍读。入值上
  • 西屿坪屿坐标:23°16′11″N 119°30′21″E / 23.269742°N 119.505889°E / 23.269742; 119.505889西屿坪屿位于澎湖南海,行政名称为西坪村,岛上只剩1位居民(为岛上的庙公),为望安乡所
  • 15号州际公路15号州际公路(Interstate 15,简称I-15)是美国州际公路系统的一部分。北起蒙大拿州与加拿大的边界上,南连加利福尼亚州圣地牙哥(目前与8号州际公路相连,正进行延伸工程,以与5号州际
  • Fa'afafineFa'afafine是指波里尼西亚(尤其是萨摩亚地区)文化中的跨性别生理男性,他们在当地社会被认定为女性。Fa'afafine一词是由前缀“fa'a”(意指“以...的型态”)及“fafine”(意指“女
  • 中华民国汽车客运业者列表公路总局 民用航空局 高速公路局 航港局 铁道局 台湾铁路管理局 中华邮政公司 台湾港务公司 桃园国际机场公司国道 省道 县道 - 市道(列表) 乡道 - 区道 专用公路 编号与名称
  • 刘瑞琪 (插画家)刘瑞琪,笔名Wawa刘瑞琪 ,旧金山艺术大学儿童插画系研究所毕业,台湾知名插画家、儿童绘本作家,著有多本知名绘本著作。