球面矩形绘图:理论与算法探究
1. 引言
在图绘制领域,平面矩形绘图是一个经典问题,即平面上的图以无交叉的方式绘制,每条边为水平或垂直线段,每个面为矩形。而本文将这一概念扩展到了球面上,提出了球面矩形绘图的概念。在固定南北极的球面上,子午线是连接两极的半圆,纬度圈则平行于赤道。球面矩形绘图要求图在球面上无交叉绘制,每条边为圆弧、子午线弧或在极点相连的两条子午线弧,每个面由至多两个纬度圈和两条子午线界定。
当南北极位于同一个面的内部时,球面矩形绘图等同于平面矩形绘图。此前,已有学者对平面矩形绘图进行了研究,如 Thomassen 证明了特定平面嵌入图存在矩形绘图的充要条件,Rahman 等人研究了顶点度数为 2 和 3 的平面图的矩形绘图问题,并给出了线性时间的判定条件,Miura 等人则为最大度数为 4 的平面嵌入图找到了一个时间复杂度为 $O(n^{1.5}/\log n)$ 的算法。
本文主要解决了最大度数为 3 的平面图的球面矩形可绘制性问题,能在线性时间内完成判定和绘制。对于最大度数为 4 的平面图的相关问题,留作未来研究。
2. 球面矩形绘图的基本概念
-
球面元素定义
:
- 子午线弧:子午线的连续部分。
- 圆弧:纬度圈的连续部分。
- 矩形:由两条不相交的非零长度圆弧和两条(可能重合)非零长度子午线弧组成的封闭曲线。
- 扇形:由一条非零长度圆弧和两条不同的非零长度子午线弧组成的封闭曲线。
- 透镜:由两条在极点相交的不同子午线弧组成的封闭曲线。
- 球面矩形绘图定义 :平面图形 $G$ 的球面矩形绘图是指在球面上无交叉绘制 $G$,每条边绘制为圆弧、子午线弧或在极点相连的两条子午线弧,每个面的边界绘制为矩形、圆、扇形或透镜。
- 对象绘制位置 :对于平面图形 $G$ 的对象(顶点、边或面)$x$,若 $x$ 是顶点且绘制在南极 $S$,或 $x$ 是边且 $S$ 在其内部,或 $x$ 是面且 $S$ 在其内部,则称 $x$ 绘制在 $S$。同理可定义绘制在北极 $N$。
- $xy$-绘图 :平面图形 $G$ 的 $xy$-绘图是指 $x$ 绘制在 $N$,$y$ 绘制在 $S$ 的球面矩形绘图。若 $G$ 存在 $xy$-绘图,则称 $G$ 是 $xy$-可绘制的,显然 $G$ 是 $xy$-可绘制当且仅当 $G$ 是 $yx$-可绘制。
当 $S$ 和 $N$ 在同一个面的内部时,球面矩形绘图等同于平面矩形绘图;当至少有一个绘制在极点的对象是面时,可视为在圆锥或同心圆圈格上的绘图;当两个绘制在极点的对象都是面时,可视为在圆柱上的绘图。
在球面矩形绘图中,绘制在极点的边由在极点相交的两条不同子午线弧组成,可能在极点有弯折。若有一条边 $e$ 绘制在一个极点,而另一个极点有顶点或面绘制,则总能使 $e$ 无弯折绘制;但当两个极点都有边绘制时,并非总能无弯折绘制。
3. 立方图的球面矩形绘图
3.1 立方平面图形
- 适当 $k$-循环 :平面图形 $G$ 中长度为 $k$ 的循环,若不是面的边界,则称为适当 $k$-循环。用 $G^ $ 表示 $G$ 的平面对偶图,$x^ $ 表示 $G$ 中对象 $x$ 在 $G^*$ 中对应的对象。
-
定理 1
:设 $G$ 是具有两个以上顶点的双连通立方平面图形,$x$ 和 $y$ 是 $G$ 的对象。则 $G$ 是 $xy$-可绘制的当且仅当 $x^
$ 和 $y^
$ 在 $G^*$ 的每个适当 2 - 循环和适当 3 - 循环的两侧,且满足以下条件之一($x$ 和 $y$ 的角色可能互换):
- $x$ 和 $y$ 是非相邻面。
- $x$ 是面,$y$ 是不在 $x$ 边界上的顶点。
- $x$ 是面,$y$ 是端点不在 $x$ 边界上的边。
- $x$ 和 $y$ 是无公共端点的边。
- $x$ 是边,$y$ 不是 $x$ 的端点的顶点。
- $x$ 和 $y$ 是不同的顶点。
对于连通但不一定双连通的立方平面图形 $G$,若 $G$ 是 $xy$-可绘制的,对于 $G$ 的每个桥 $e$,包含 $e$ 的唯一面 $g$ 应绘制为恰好有一条子午线弧(即 $e$)的矩形,且 $x$ 和 $y$ 在 $G \setminus {e}$ 的不同组件中。可将 $G$ 分解为包含 $x$ 的组件 $G_x$ 和包含 $y$ 的组件 $G_y$,$G_x$ 是 $g_x x$-可绘制的,$G_y$ 是 $g_y y$-可绘制的,反之亦然。这种分解可在线性时间内完成,然后对每个双连通组件应用定理 1 的线性实现来测试 $G$ 是否是 $xy$-可绘制,并在存在时找到绘图。
- 算法 S - R(G) :用于找到双连通立方平面图形 $G$ 的两个对象 $x$ 和 $y$,使得 $G$ 是 $xy$-可绘制的。
算法. S - R(G)
输入: 双连通立方平面图形 G.
输出: G 的两个对象 x 和 y,使得 G 是 xy - 可绘制的,或 ∅ 如果不存在这样的对象对.
开始
1. 将 G* 嵌入平面,设 C0 为外部面的边界。如果 G* 有两个顶点由两条以上的边连接,返回 ∅.
2. 如果 G 由两条由 3 条边连接的顶点 x 和 y 组成,返回 {x, y};如果 G 是完全图 K4,返回 {x, y},其中 x 是面,y 是不在 x 上的顶点.
3. 如果 G* 没有适当的 2 - 循环或 3 - 循环,返回 {x, y},其中 x 和 y 是 G 的任意两个非相邻顶点.
4. 设 C 是 G* 的最短适当循环。设置 x = Proc(G*(C)) 和 y = Proc(G*o(C))。如果 x = ∅ 或 y = ∅,返回 ∅;否则返回 {x, y}.
结束
过程 Proc(H)
输入: 内部面大小至少为 3 的双连通平面嵌入图形 H.
输出: 位于 H 的所有适当 2 - 循环和 3 - 循环内部且不在外部面边界上的顶点 x,或 ∅ 如果不存在这样的顶点.
开始
1. 如果 H 有两个顶点由两条以上的边连接,返回 ∅.
2. 设置 C0 = H 的外部面的边界.
3. 对于 H 的每个适当 2 - 循环 C,如果 H(C) ⊆ H(C0),设置 C0 = C;否则,如果 H(C0) 不是 H(C) 的子图,返回 ∅.
4. 对于 H 的每个适当 3 - 循环 C,如果 H(C) ⊆ H(C0),设置 C0 = C;否则,如果 H(C0) 不是 H(C) 的子图,返回 ∅.
5. 返回 x,其中 x 是 C0 内部的顶点.
结束
- 定理 2 :若连通立方平面图形存在球面矩形绘图,则可在线性时间内找到。若图形是双连通的,应用算法 S - R。为实现线性时间复杂度,使用合适的线性时间算法将 $G^*$ 嵌入整数网格,使短循环或对象是否在指定短循环内的问题能在常数时间内回答。通过删除每对平行边中的一条,应用线性时间算法找到剩余的 2 - 循环和 3 - 循环,再调整列表重新纳入删除的边。
3.2 立方平面图
对于平面图 $G$ 和其嵌入 $\rho$,$G_{\rho}$ 表示对应于 $\rho$ 的平面图形。
-
定理 3
:设 $G$ 是双连通立方平面图。则 $G$ 的所有对应嵌入的平面图形要么都有球面矩形绘图,要么都没有。具体来说,对于 $G$ 的两个嵌入 $\rho_1$ 和 $\rho_2$,若 $G_{\rho_1}$ 有对象 $f_1$ 和 $h_1$ 使得 $G_{\rho_1}$ 是 $f_1 h_1$-可绘制的,则 $G_{\rho_2}$ 有对象 $f_2$ 和 $h_2$ 使得:若 $f_1$ 是面,则 $f_2$ 是与 $f_1$ 有相同边界(可能反向)的面,否则 $f_2 = f_1$;同理对于 $h_1$ 和 $h_2$。
该定理不适用于非双连通图。对于至少有一个桥的连通立方平面图 $G$,设 $A$ 是 $G$ 的桥的集合,$T’(G)$ 是以 $G \setminus A$ 的组件为顶点,两个顶点相邻当且仅当它们对应的组件与 $G$ 的同一桥相关联的图。$H$ 是 $G \setminus A$ 的组件,$\rho$ 是 $H$ 的嵌入,$H_{\rho}$ 的面 $f$ 是候选面,如果 $f$ 的边界包含 $G$ 的桥的端点。
-
定理 4
:设 $G$ 是至少有一个桥的连通立方平面图。则 $G$ 有球面矩形绘图当且仅当以下所有条件成立:
1. $T’(G)$ 是路径。
2. 设 $G_1, G_2, \ldots, G_k$ 是 $G \setminus A$ 按 $T’(G)$ 路径顺序的组件,$\rho_i$ 是 $G_i$ 的任意嵌入。则:
- $G_{1\rho_1}$ 有候选面 $h_1$ 和对象 $x$ 使得 $G_{1\rho_1}$ 是 $x h_1$-可绘制的。
- $G_{k\rho_k}$ 有候选面 $f_k$ 和对象 $y$ 使得 $G_{k\rho_k}$ 是 $f_k y$-可绘制的。
- 对于 $i = 2, \ldots, k - 1$,$G_{i\rho_i}$ 有两个不同的候选面 $f_i$ 和 $h_i$ 使得 $G_{i\rho_i}$ 是 $f_i h_i$-可绘制的。
定理 4 的一个推论是,若连通立方平面图 $G$ 有球面矩形绘图,则对于 $G$ 的每个双连通组件的任意选择的嵌入,都存在一个诱导每个双连通组件所选嵌入的球面矩形绘图。
-
定理 5
:若连通立方平面图 $G$ 存在球面矩形绘图,则可在线性时间内找到。
4. 次立方平面图的球面矩形绘图
顶点度数至多为 3 的图称为次立方图。对于图 $G$ 中度数为 2 的顶点 $v$,其邻接顶点为 $u$ 和 $w$,移除 $v$ 并添加边 $uw$,称为平滑 $v$。用 $G_s$ 表示平滑 $G$ 中所有度数为 2 的顶点的结果。
-
定理 6
:连通次立方平面图形 $G$ 有球面矩形绘图当且仅当至少满足以下条件之一:
- $G$ 有矩形绘图。
- $G_s$ 有球面矩形绘图。
- $G$ 有面 $x$ 的边界上的顶点或边 $y$ 使得 $G$ 是 $xy$-可绘制的(此时面 $x$ 绘制为扇形)。
证明时,由于有球面矩形绘图的图没有度数为 1 的顶点,所以只考虑最小度数为 2 的次立方图。充分性显然,必要性在于球面矩形绘图的面在非极点处有 $3\pi/2$ 角度的情况只有是矩形绘图或有一个面 $x$ 绘制在一个极点,而 $x$ 边界上的顶点或边绘制在另一个极点。若这些情况不发生,每个不在极点绘制的度数为 2 的顶点的角度为 $\pi$,因此 $G$ 的每个球面矩形绘图对应于 $G_s$ 的球面矩形绘图。
对于定理 6 的第一种情况,已有 Rahman 等人的研究;第二种情况在前面立方图部分已讨论。对于第三种情况,若 $G_s$ 没有 2 - 边割,则有以下定理。
-
相关定义
:设 $x$ 是平面图形 $G$ 的面,$C$ 是 $G$ 的循环。$C$ 的 $x$-腿是 $G \setminus C$ 中与 $C$ 相邻且位于 $C$ 与 $x$ 同侧的边,$C$ 与 $x$ 同侧的弦计为两条腿。若 $G$ 以 $x$ 为外部面嵌入平面时,$G(C_1)$ 和 $G(C_2)$ 没有公共顶点,则称 $G$ 的两个循环 $C_1$ 和 $C_2$ 是 $x$-独立的。
-
定理 7
:设 $G$ 是最小度数至少为 2 的次立方平面图形,且 $G_s$ 没有 2 - 边割,$x$ 是 $G$ 的面。则 $G$ 有面 $x$ 边界上的顶点或边 $y$ 使得 $G$ 是 $xy$-可绘制的当且仅当满足一系列条件(原文未完整给出该定理的条件)。
综上所述,本文通过对立方图和次立方图的研究,给出了最大度数为 3 的平面图的球面矩形可绘制性的判定和绘制方法,为图绘制领域的研究提供了新的思路和方法。未来可进一步研究最大度数为 4 的平面图的相关问题。
下面用 mermaid 流程图展示算法 S - R(G) 的流程:
graph TD;
A[开始] --> B[嵌入 G* 到平面,设 C0 为外部面边界];
B --> C{G* 有两顶点由两条以上边连接?};
C -- 是 --> D[返回 ∅];
C -- 否 --> E{G 由两顶点由 3 条边连接?};
E -- 是 --> F[返回 {x, y}];
E -- 否 --> G{G 是 K4?};
G -- 是 --> H[返回 {x, y},x 是面,y 不在 x 上];
G -- 否 --> I{G* 有适当 2 - 循环或 3 - 循环?};
I -- 否 --> J[返回 {x, y},x 和 y 非相邻顶点];
I -- 是 --> K[设 C 为 G* 最短适当循环];
K --> L[x = Proc(G*(C))];
L --> M[y = Proc(G*o(C))];
M --> N{x = ∅ 或 y = ∅?};
N -- 是 --> D;
N -- 否 --> O[返回 {x, y}];
以下是对立方图和次立方图相关定理和算法的总结表格:
| 类型 | 定理/算法 | 描述 |
| ---- | ---- | ---- |
| 立方图 | 定理 1 | 双连通立方平面图形 $xy$-可绘制的充要条件 |
| 立方图 | 算法 S - R(G) | 找到双连通立方平面图形的 $xy$-可绘制对象 |
| 立方图 | 定理 2 | 连通立方平面图形球面矩形绘图可线性时间找到 |
| 立方图 | 定理 3 | 双连通立方平面图所有嵌入的平面图形球面矩形绘图情况一致 |
| 立方图 | 定理 4 | 有桥的连通立方平面图有球面矩形绘图的充要条件 |
| 立方图 | 定理 5 | 连通立方平面图球面矩形绘图可线性时间找到 |
| 次立方图 | 定理 6 | 连通次立方平面图形有球面矩形绘图的充要条件 |
| 次立方图 | 定理 7 | 特定次立方平面图形有 $xy$-可绘制性的充要条件(部分条件未完整给出) |
球面矩形绘图:理论与算法探究
5. 算法分析与复杂度总结
为了更好地理解这些算法和定理在实际应用中的性能,下面对它们的时间复杂度进行总结。
| 算法/定理 | 时间复杂度 | 说明 |
| ---- | ---- | ---- |
| 算法 S - R(G) | 线性时间 | 用于双连通立方平面图形,找到使图 $xy$-可绘制的对象对 |
| 定理 2 | 线性时间 | 对于连通立方平面图形,若存在球面矩形绘图,可在线性时间内找到 |
| 定理 5 | 线性时间 | 连通立方平面图若存在球面矩形绘图,能在线性时间内找到 |
从这些复杂度可以看出,对于立方图和次立方图的球面矩形绘图问题,在大多数情况下都可以在线性时间内完成判定和绘制,这使得这些算法在处理大规模图时具有较高的效率。
6. 实际应用与案例分析
球面矩形绘图在许多领域都有潜在的应用,例如地理信息系统(GIS)、计算机图形学和网络可视化等。
在地理信息系统中,地球可以近似看作一个球体,地图的绘制需要考虑球面的特性。球面矩形绘图可以用于构建地球表面的地图网格,使得地图的每个区域可以用规则的形状表示,便于数据的存储和分析。例如,在全球气候模型中,可以使用球面矩形绘图来划分地球表面的网格,每个网格可以代表一个特定的气候区域,从而更准确地模拟气候的变化。
在计算机图形学中,球面矩形绘图可以用于创建三维场景中的球面物体的纹理映射。通过将二维的纹理图像映射到球面上的矩形区域,可以实现更自然的纹理效果。例如,在游戏开发中,对于球体形状的物体,如星球、球体道具等,可以使用球面矩形绘图来进行纹理映射,提高游戏的视觉效果。
在网络可视化中,图的绘制是一个重要的问题。球面矩形绘图可以用于展示具有层次结构或环形结构的网络。例如,在社交网络中,可以将用户节点放置在球面上,通过球面矩形绘图来展示用户之间的关系,使得网络的结构更加清晰。
下面通过一个简单的案例来展示球面矩形绘图的应用。假设有一个小型的社交网络,包含 10 个用户节点,节点之间的连接表示用户之间的好友关系。我们可以将这些节点放置在球面上,使用球面矩形绘图来展示这个社交网络。通过调整绘图的参数,如节点的位置、边的颜色和宽度等,可以使得这个社交网络的结构更加直观地呈现出来。
7. 研究展望
虽然本文已经解决了最大度数为 3 的平面图的球面矩形可绘制性问题,但仍有许多问题值得进一步研究。
首先,对于最大度数为 4 的平面图的球面矩形绘图问题是一个有趣的研究方向。目前还没有有效的算法来解决这个问题,未来可以尝试通过扩展现有的算法或提出新的理论来解决这个问题。
其次,可以考虑将球面矩形绘图的概念扩展到更高维度的空间,如四维空间中的超球面绘图。这将需要重新定义相关的概念和算法,对于理论和算法的研究都具有挑战性。
另外,在实际应用中,如何处理大规模图的球面矩形绘图问题也是一个需要解决的问题。虽然现有的算法在线性时间内可以完成,但对于非常大的图,仍然可能需要较长的计算时间。可以研究如何优化算法,提高算法的效率,或者使用并行计算的方法来加速计算过程。
最后,可以进一步研究球面矩形绘图在不同领域的应用,探索更多的应用场景和方法。例如,在生物信息学中,如何使用球面矩形绘图来展示生物分子的结构和相互作用;在物理学中,如何使用球面矩形绘图来模拟球体的运动和相互作用等。
8. 总结
本文深入研究了平面图的球面矩形绘图问题,提出了球面矩形绘图的概念,并给出了立方图和次立方图的球面矩形可绘制性的判定和绘制方法。通过一系列的定理和算法,证明了对于最大度数为 3 的平面图,可以在线性时间内完成球面矩形绘图的判定和绘制。
在研究过程中,我们首先定义了球面矩形绘图的基本概念,包括球面元素的定义、对象的绘制位置和 $xy$-绘图等。然后针对立方图和次立方图分别进行了研究,给出了相应的定理和算法。对于立方图,我们研究了立方平面图形和立方平面图的情况,分别给出了可绘制性的判定条件和绘制算法。对于次立方图,我们通过平滑度数为 2 的顶点,将问题转化为立方图的问题,并给出了相应的判定条件。
最后,我们对算法的复杂度进行了总结,分析了它们在实际应用中的性能。同时,我们还探讨了球面矩形绘图在地理信息系统、计算机图形学和网络可视化等领域的应用,并对未来的研究方向进行了展望。
通过本文的研究,我们为图绘制领域提供了一种新的绘图方法和理论基础,为解决实际问题提供了新的思路和方法。未来的研究将进一步拓展球面矩形绘图的应用范围和理论深度,为相关领域的发展做出更大的贡献。
下面用 mermaid 流程图展示整个研究的流程:
graph LR;
A[定义球面矩形绘图概念] --> B[研究立方图];
B --> B1[立方平面图形];
B --> B2[立方平面图];
B1 --> C1[定理 1 等判定条件];
B1 --> C2[算法 S - R(G)];
B2 --> C3[定理 3 等判定条件];
A --> D[研究次立方图];
D --> E[定理 6 等判定条件];
C1 --> F[复杂度分析];
C2 --> F;
C3 --> F;
E --> F;
F --> G[实际应用];
G --> H[研究展望];
这个流程图展示了整个研究的过程,从概念的定义到不同类型图的研究,再到算法的复杂度分析、实际应用和未来的研究展望,形成了一个完整的研究体系。
超级会员免费看
24

被折叠的 条评论
为什么被折叠?



