Sutherland–Hodgman算法

✍ dations ◷ 2025-11-30 14:31:24 #计算机图形学,算法

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

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

相关

  • 结缔组织疾病结缔组织疾病(connective tissue disease)是指会影响结缔组织的疾病。结缔组织是具有细胞外基质、可以支持、连结器官,并且保护器官的组织。这类的组织主要由两种结构蛋白质分
  • 玻璃棉玻璃棉属于一种玻璃纤维。玻璃棉是将熔融玻璃纤维化,形成纤维状的材料,化学成分属玻璃类,是一种无机质纤维,具有体积密度小、保温绝热、吸音性能好、耐腐蚀、化学性能稳定。采用
  • 大法院长外交 · 南北统一 · 阳光政策 · 行政区划 · 人权(朝鲜语:대한민국의 인권)政治主题大韩民国大法院长(韩语:대한민국의 대법원장),是大韩民国大法院的首席大法官,也是大韩民国
  • F/A-18E/F推力:(57.8 kN)*2 后燃推力:(97.9 kN)*2F/A-18E/F“超级大黄蜂”(英语:F/A-18E/F Super Hornet),是美国波音公司基于中型的F/A-18C/D大黄蜂为基础改良而来,所生产的一种中重型舰载战
  • 暗示暗示是一个汉语词语,意思是不明确表达而是用别的方式含蓄或暗中表示。暗示还可以指或别的很多种用法。
  • 52 Hz I Love You《52 Hz I Love You》(中文片名《52赫兹我爱你》为副标题,英语:)是一部于2017年上映的台湾音乐电影,由魏德圣执导,黄志明与吴明宪担任监制,魏德圣、游文兴及苏达共同编剧。演员包含
  • SPDR巴克莱资本国际国库债券ETFSPDR巴克莱资本国际国库债券ETF(英语:SPDR Barclays Capital International Treasury Bond ETF)(NYSE:BWX),现时由美国道富环球管理基金,其实是根据巴克莱资本全球债券除美国外指数
  • 蒋立镛蒋立镛(1782年-1842年),字序东,号笙陔。湖北天门人。清代状元。生于乾隆四十七年(1782年),嘉庆十六年(1811年)辛未科殿试中状元,与林则徐同科。授翰林院修撰。嘉庆十八年(1813年),任河南乡
  • 1918–1919年俄国西征俄国于1918年–1919年的攻势是俄罗斯苏维埃联邦社会主义共和国对德国由于在第一次世界大战战败,所放弃的东方领土所发起的进攻。德俄双方在签订布列斯特-立陶夫斯克条约后,俄
  • 透写台透写台(英语:Light pad),又称为透台、拷贝台或映绘桌,是一种由灯箱(英语:Lightbox)衍生而来的工具,主要用以复写原稿。构造通常包含日光灯、白色压克力板、玻璃与箱型平台。将原稿放