Sutherland–Hodgman算法

✍ dations ◷ 2025-04-12 04:36:34 #计算机图形学,算法

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表示 ),这可以通过简单地使用叉积 实现。

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

相关

  • 生物量生物量(Biomass)是指一条食物链可支持的生物总质量,一个动物或植物物种的活个体的总量或重量,称为物种生物量,而群落中所有物种活个体的总量或重量,称为群落生物量。生物量通常以
  • 前庭球前庭球(英语:vestibular bulbs),也被称之为阴蒂球(clitoral bulbs),是一类勃起组织的集合,它位于阴蒂的内侧。它位于阴道前庭,接近于阴蒂、阴蒂脚,并在尿道、尿道海绵(英语:urethral spo
  • 扩散电流扩散电流在半导体中因载流子(空穴或自由电子)扩散作用引起的电流。 半导体中的扩散电流可以与由于电场形成的漂移电流同向或者反向。在一个平衡状态的PN结中,耗尽层的正向扩散
  • 黄色黄色是由波长介于565至590奈米的光线所形成的颜色,用色彩的三原色红、绿色光混合可产生黄光。亦为颜料的三原色之一。黄的互补色是蓝。但传统上画师以紫色作为黄的互补色。^
  • 少数族群少数民族,是实行主体民族与少数民族区别对待政策的国家的差别用语,是民族主义国家中主体民族以外的民族群体,人口比例占少数。少数民族可以是原住民族,也可以是外来民族,来源真实
  • 人防局中国人民解放军军徽中央军委国防动员部人防局,位于北京市,是中央军委国防动员部下属局,负责中国人民防空(简称“人防”)工作。2016年改革前,中国人民解放军总参谋部作战部下设中国
  • 企鹅影视企鹅影视(英语:Tencent Penguin Pictures)成立于2015年9月11日,隶属于腾讯旗下子公司,主营业务为艺人经纪、投资制作综艺节目、剧集以及电影。除原有的自制影视剧集外,进一步拓宽
  • 曹鹤荪曹鹤荪(1912年9月15日-1998年10月29日),江苏江阴人,空气动力学专家,原国防科学技术大学副校长。主要从事理论空气动力学、气动弹性力学等领域的研究。曹鹤荪早年曾就读于江阴澄翰
  • 抬旗抬旗(满语:ᡤᡡᠰᠠ ᡩᠣᡠᠪᡠᠮᠪᡳ,穆麟德:),是清朝政府改变建立功勋者、皇后和妃嫔家族的旗籍,以提高其出身的一种制度。满清早年只有四旗;正红旗、正白旗、正蓝旗、正黄旗等四
  • 熊泽英昭熊泽英昭(日语:熊澤 英昭/くまざわ ひであき ,1943年-),是日本农林水产省前事务次官。曾任日本驻捷克大使。熊泽英昭长子熊泽英一郎生于1975年,成年后长期失业在家,沉溺于网络游戏,曾