计算几何课堂:几何寻路之旅(含代码)

34 篇文章 20 订阅
3 篇文章 0 订阅

因为几何寻路之旅所涉及的算法很多,所以我出了一个系列教学视频,讲解了下面相关的四个算法和两个代码实现问题:

  1. 单调多边形拆分;
  2. 三角拆分;
  3. 对偶图 + BFS;
  4. 漏斗算法;
  5. DCEL;
  6. 项目代码解析;

那么这里我把每个章节的视频整理发到这里,方便大家观看,如果大家有任何的问题和建议,都可以给我留言,我会第一时间给大家回复,谢谢大家啦~

1. 视频章节

视频总链接:传送门

第一章:背景介绍

1.1 背景介绍

第二章:单调多边形拆分

2.1 什么是单调多边形

2.2 例子:单调多边形

2.3 5种顶点类型

2.4 例子:5种顶点类型

2.5 (拓展)证明:去除split和merge vertex一定为单调多边形

2.6 如何拆解split和merge vertex

2.7 伪代码讲解

2.8 例子:单调多边形拆分

2.9 (拓展)如何处理水平边

第三章:三角拆分

3.1 艺术画廊问题(Art Gallery Problem)

3.2 (拓展)证明:拆分成n-2个三角形

3.3 (拓展)三染色问题(3-coloring Problem)

3.4 三角拆分算法思路

3.5 伪代码讲解

3.6 例子:三角拆分

第四章:对偶图 + BFS

4.1 BFS复习

4.2 生成对偶图

4.3 例子:在对偶图中进行BFS

第五章:漏斗算法

5.1 什么是漏斗?

5.2 例子:漏斗算法 & 伪代码讲解

5.3(拓展)如何判断漏斗的大小

5.4(拓展)左右顶点究竟是什么?

5.5(拓展)证明:导航边两端顶点类型相反

5.6(拓展)例子:寻找左右顶点

5.7(拓展)apex和左右顶点共点的处理方法

第六章:DCEL(拓展)

6.1 DCEl是什么?

6.2 例子:DCEL

6.3 基本操作

6.4 如何合并边

6.5 如何计算两边夹角

第七章:项目代码解析(拓展)

7.1 如何实现DCEL基本数据结构

7.2 如何实现DCEL的操作

7.3 数据预处理

7.4 如何实现单调多边形拆分

7.5 三角拆分预处理

7.6 如何实现三角拆分

7.7 如何生成对偶图

7.8 实现在对偶图中的BFS

7.9 如何实现漏斗算法

2. 附录:拓展阅读

  1. 向量复习(一):定义、求解、四则运算、点积和叉积
  2. 超详细!红黑树详解文章汇总(含代码)
  3. 几何求交(一):直线和直线的交点
  4. 几何求交(二):直线和圆的交点

3. 附录:项目代码

个人作业项目代码:Algorithm

1.1.4 Triangulation

DescriptionEntry method\File
Partionting monotone polygonsList<Face> makeMonotone( List<Vertex> vertices )
TriangulationList<Face> triangulate( List<Face> monotonePolygons )
BFS in a dual graphvoid BFS( int sizeOfGraph, DualVertex start, DualVertex end )
Funnel algorithmList<Vector> Funnel( DualVertex startTriangle, Vector startPoint, Vector endPoint )
Program ( including visualization )CG2017 PA2-1 Shortest Path in The Room
Pedagogical Aid WebpagePedagogical Aid of Triangulation

4. 参考资料

  1. 计算几何 | Computational Geometry
  2. Computational Geometry: Algorithms and Applications
  3. Simple Stupid Funnel Algorithm

5. 免责声明

※ 本文之中如有错误和不准确的地方,欢迎大家指正哒~
※ 此项目仅用于学习交流,请不要用于任何形式的商用用途,谢谢呢;


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值