Java 四边形数据结构makeEdge逻辑
我正在阅读Guibas Stolfi的论文,该论文描述了一个四边形数据结构,可用于计算Delaunay三角剖分。我正在使用java实现QuadEdge数据结构 我一直在关注这个网站上提到的实现 简言之,四边形结构由两个操作组成,即Java 四边形数据结构makeEdge逻辑,java,data-structures,computational-geometry,Java,Data Structures,Computational Geometry,我正在阅读Guibas Stolfi的论文,该论文描述了一个四边形数据结构,可用于计算Delaunay三角剖分。我正在使用java实现QuadEdge数据结构 我一直在关注这个网站上提到的实现 简言之,四边形结构由两个操作组成,即 makeEdge->返回子分区中存在的边e的四边形边 拼接(a,b)->用于更改与四边形边a和b关联的拓扑的功能 现在,四边形数据结构由两个字段组成,即数据和下一个指针 下一个字段使用以下公式计算:, e[r].Next=e(Rot^r)Onext 为了了解Onext
我的问题是,如果一条下一条逆时针方向的边,即与e具有相同原点的下一条边,是边本身,那么当取双边时,为什么它是另一条边。看起来q1和q3的原点都在同一点(无穷远处的伪点)。这就是为什么
q1.oNext==q3
和q3.oNext==q1
q0 = new QuadEdge();
q1 = new QuadEdge();
q2 = new QuadEdge();
q3 = new QuadEdge();
q0.Onext = q0;
q1.Onext = q3; //on the sphere, left=right (How?? or Why??)
q2.Onext = q2;
q3.Onext = q1;