多边形的凹凸性与凸包_第1页
多边形的凹凸性与凸包_第2页
多边形的凹凸性与凸包_第3页
多边形的凹凸性与凸包_第4页
多边形的凹凸性与凸包_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/1多边形的凹凸性与凸包第一部分多边形凹凸性概念与判断 2第二部分凸包定义与性质 3第三部分凸包与凹凸多边形的性质 5第四部分Graham扫描法求多边形凸包 8第五部分Jarvis行进法求多边形凸包 13第六部分快速凸包算法 16第七部分凸包在算法中的应用 19第八部分凸包在计算机图形学中的应用 21

第一部分多边形凹凸性概念与判断关键词关键要点多边形的凹凸性概念

1.凹凸多边形:如果一个多边形存在至少一条边的延长线穿出其内部,则该多边形为凹多边形。

2.凸多边形:如果一个多边形不存在任何一条边的延长线穿出其内部,则该多边形为凸多边形。

3.典型特征:凸多边形的所有内角均小于180度,而凹多边形至少有一个内角大于等于180度。

判断多边形的凹凸性

1.三角形:任何三角形都是凸多边形。

2.四边形:如果四边形存在一对对角线,且这两条对角线不交于四边形内部,则该四边形为凸多边形。

3.多于四边的多边形:使用三角剖分法,将多边形分解成多个三角形,如果所有三角形都是凸的,则该多边形是凸的;否则,该多边形是凹的。多边形的凹凸性概念

多边形根据其形状可分为凸多边形和凹多边形。

凸多边形是指所有内角均小于180°的多边形。其特点是:

*任意两点之间连线段均在多边形内部。

*多边形边界上的任意一条线段都能将多边形分成两个部分,且两个部分都不包含这条线段。

凹多边形是指存在至少一个内角大于180°的多边形。其特点是:

*存在一条线段连接多边形内部的两点,但这条线段的一部分位于多边形外部。

*多边形边界上的任意一条线段都不能将多边形分成两个部分,使得两个部分都不包含这条线段。

多边形凹凸性判断

判断多边形凹凸性有以下几种方法:

1.对角线法

*凸多边形:任意两条对角线都相交于多边形内部。

*凹多边形:存在至少一条对角线与多边形相交于外部。

2.旋转法

*凸多边形:当多边形绕其一个顶点旋转一周时,其所有边都始终朝向旋转中心。

*凹多边形:当多边形绕其一个顶点旋转一周时,其存在至少一条边在旋转过程中会朝向旋转中心。

3.射线法

*凸多边形:从任意一个顶点向外射出一条射线,这条射线与边界上的所有交点都与该顶点在同一条直线上。

*凹多边形:存在至少一条射线,使得其与边界上的交点中有两个与该顶点不在同一条直线上。

4.三角剖分法

*凸多边形:多边形可以被三角剖分成若干个三角形,这些三角形的内角和均为180°。

*凹多边形:多边形不能被三角剖分成上述条件的所有三角形。第二部分凸包定义与性质凸包定义

凸包,又称凸包络,是对给定点集的一个几何结构,它是由包含所有点的最小凸多边形组成。凸包可以用于解决一系列几何问题,例如点集的最小面积覆盖、最近点对问题和可见性问题。

凸包性质

凸包具有以下性质:

*唯一性:对于给定的点集,只存在一个凸包。

*凸性:凸包是一个凸多边形,即其内部不包含任何点。

*最优性质:凸包是包含所有点的最小凸多边形。

*最小边界:凸包是点集的最小边界,即它包含所有点,并且其面积或周长最小。

*边界上的点:凸包的边界上所有点都是点集中的凸点。

*内部和外部:凸包将平面划分为内部和外部两个区域。内部包含所有点,而外部则不包含任何点。

*极值点:凸包的边界点是点集中各个方向上的极值点。

*凸包深度:凸包深度的定义为:对于凸包内任意一点,到凸包边界的最大距离。

*凸包直径:凸包直径的定义为:凸包内两点之间的最大距离。

*线性变换下的不变性:如果对点集进行任意线性变换(平移、旋转或缩放),则凸包也会发生相应的变换。

*点集分割:凸包可以通过一条直线将点集分成两部分:内部点和外部点。

凸包的构造方法

有许多算法可以构造凸包,其中最常用的包括:

*Graham扫描法:一种基于极角排序的算法,时间复杂度为O(nlogn)。

*Jarvis行进法:一种基于贪心策略的算法,时间复杂度为O(nh),其中h为凸包的凸度。

*快速凸包算法:一种基于分治策略的算法,时间复杂度为O(nlogh)。

*三维凸包算法:用于构造三维点集的凸包的算法,例如凸包体积算法和凸包表面算法。

凸包的应用

凸包在计算机图形学、计算机视觉和图像处理中有着广泛的应用,包括:

*最小包围矩形计算:找到包含给定点集的最小矩形。

*碰撞检测:确定两个给定形状是否相交。

*路径规划:查找从一个点到另一个点的不相交路径。

*图像分割:将图像分割成不同的区域。

*特征提取:用于从图像中提取特征,例如边界和角点。第三部分凸包与凹凸多边形的性质关键词关键要点凸包定义及性质

1.凸包:给定一个多边形,其凸包是所有包含该多边形的所有顶点的最小凸多边形。

2.性质:凸包是凸多边形,并且由给定多边形的任意三个不共线顶点确定。

3.应用:凸包广泛应用于计算几何、图形学和图像处理中,用于检测凸对象、计算最小闭合多边形和生成三角剖分。

多边形凸性的概念

1.凸多边形:如果多边形中任意两点连成的线段都在多边形内部,则称该多边形为凸多边形。

2.凹多边形:如果一个多边形中存在至少一对点连成的线段不在多边形内部,则称该多边形为凹多边形。

3.凸性的判断:可以通过检查多边形的任意一对角是否都向同一侧打开来判断其凸性。

凸包与凸性的关系

1.凸多边形的凸包等于自身:如果一个多边形是凸多边形,则其凸包与自身重合。

2.凹多边形的凸包是凸包:如果一个多边形是凹多边形,则其凸包是一个凸多边形。

3.确定凸性:通过计算一个多边形的凸包,可以确定该多边形的凸性。

凸包与凹凸多边形的算法

1.Grahame扫描算法:一种经典算法,可以计算任意多边形的凸包,时间复杂度为O(nlogn)。

2.Jarvis包裹算法:另一种简单有效的算法,可以计算凸包,时间复杂度为O(nh),其中h为凸包中顶点的数量。

3.分治算法:一种利用分治思想的算法,可以计算凸包,时间复杂度为O(nlog^2n)。

凸包与计算几何的应用

1.凸包检测:用于检测给定点集是否是凸集。

2.最小闭合多边形:用于寻找包含给定点集的最小凸多边形。

3.三角剖分:用于将多边形分解为三角形。

凸包的研究前沿

1.动态凸包:研究如何有效维护不断变化的多边形的凸包。

2.基于Voronoi图的凸包:利用Voronoi图来计算凸包,具有更低的维度敏感性。

3.高维凸包:研究高维空间中凸包的性质和算法。凸包与凹凸多边形的性质

凸包

凸包是指包含给定多边形所有顶点的最小凸多边形。它具有以下性质:

*凸包是一个凸多边形,即其内部角都小于180度。

*凸包的每条边都由给定多边形的两条相邻边组成。

*凸包的每条对角线都在给定多边形内部。

*凸包的面积等于给定多边形面积与凸包面积之差。

凸多边形

凸多边形是所有顶点都在其内部的一个多边形。它具有以下性质:

*凸多边形的内部角都小于180度。

*凸多边形的每条对角线都在多边形内部。

*凸多边形的对角线长度之和大于其周长。

*凸多边形的面积等于其一半周长乘以其内切圆半径。

凹多边形

凹多边形是不满足凸多边形性质的多边形。它具有以下性质:

*凹多边形至少有一个内角大于180度。

*凹多边形的某条对角线在多边形外部。

*凹多边形的对角线长度之和小于其周长。

凸包与凹凸多边形的性质对比

|性质|凸包|凸多边形|凹多边形|

|||||

|内部角|小于180度|小于180度|至少一个大于180度|

|对角线|在内部|在内部|至少一个在外部|

|对角线长度之和|未知|大于周长|小于周长|

|面积|未知|一半周长乘内切圆半径|未知|

寻找凸包的算法

有许多算法可以找到凸包,包括:

*格雷厄姆扫描:一种基于极角排序的算法。

*凸包算法:一种基于分治的算法。

*安德鲁算法:一种基于单调链的算法。

应用

凸包在计算机图形学、运筹学和地理信息系统等领域有广泛的应用,包括:

*多边形近似:使用凸包来近似给定多边形。

*路径规划:寻找凸多边形中的最短路径。

*可视化:渲染凸多边形以可视化复杂数据集。第四部分Graham扫描法求多边形凸包关键词关键要点Graham扫描法概述

1.Graham扫描法是一种高效算法,用于计算给定多边形的凸包(即包含所有顶点的最小凸多边形)。

2.该算法基于这样一个事实:凸包的外缘一定包含多边形中最左边的顶点。

3.算法通过以下步骤计算凸包:首先按x坐标对顶点排序;然后从最左边的顶点开始,逐个添加顶点,直到无法再加入任何顶点而不违反凸包的性质。

凸包的性质

1.凸包是一个凸多边形,这意味着它没有内凹的角。

2.凸包包含给定多边形的所有顶点。

3.凸包的外缘是一条不穿过多边形其他部分的线段序列。

Graham扫描法的实现

1.输入:一个多边形,其顶点按x坐标排序。

2.输出:一个列表,其中包含凸包的顶点。

3.算法步骤:

-从左上方的顶点开始,将顶点推入栈中。

-依次处理剩余的顶点。对于每个顶点:

-如果它在当前栈顶和栈顶之前的顶点形成的线段的左侧,则忽略它。

-否则,重复弹出栈顶,直到形成左转或线段共线。

-将当前顶点推入栈中。

4.时间复杂度:O(nlogn),其中n是多边形的顶点数。

Graham扫描法的应用

1.凸包在图形学、计算机视觉和地理信息系统等领域有许多应用。

2.例如,在图形学中,凸包可用于生成凸多边形的图像。

3.在计算机视觉中,凸包可用于检测和识别对象。

Graham扫描法的改进

1.对于一些退化的多边形,Graham扫描法可能效率较低。

2.已经开发了改进的算法,例如Jarvis扫描法和Melkman算法,它们在这些情况下可以提供更好的性能。

3.这些改进的算法仍然依赖于Graham扫描法作为其基础,但它们采用了额外的策略来提高效率。

Graham扫描法的替代方法

1.除了Graham扫描法之外,还有多种其他算法可以计算多边形的凸包。

2.这些替代算法包括快速凸包算法、包皮算法和分治算法。

3.不同的算法在特定情况下可能具有不同的性能优势,因此根据具体需求选择最合适的算法很重要。Graham扫描法:求多边形凸包

引言

多边形的凸包是多边形所有顶点构成的最小凸多边形。凸包在计算机图形学和计算几何中有着广泛的应用,例如图像处理、路径规划和形状识别。Graham扫描法是一种经典的算法,用于有效地计算多边形的凸包。

算法步骤

Graham扫描法的步骤如下:

1.选择基准点:找到一个在y轴上最低的点作为基准点P。如果有多个这样的点,则选择最左边的点。

2.按极角排序:以基准点P为原点,按极角对其余点进行排序。极角是点相对于水平轴的逆时针角度。

3.初始化凸包:创建一个栈,并将P和下一个点Q入栈。

4.扫描点:依次遍历剩余的点。对于每个点R:

-计算向量PQ和PR的叉积。

-如果叉积为正(逆时针旋转),则R在凸包边界内,将R入栈。

-否则,弹出栈顶元素Q。重复此步骤,直至叉积为正或栈顶元素为P。

5.凸包完成:栈中剩余的点构成多边形的凸包。

证明

Graham扫描法基于以下定理:

>Jarvis定理:多边形凸包的边界只能由在凸包上或者凹入的点组成。

证明通过归纳法进行。对于凸包上的点,显然它们在凸包边界上。对于凹入的点,假设凸包边界由点集S组成。如果添加一个凹入的点R,则凸包边界变为S'。叉积PQ×PR为正表明R在凸包边界内,因此S'是一个凸多边形。

复杂度

Graham扫描法的复杂度为O(nlogn),其中n为多边形中点的数量。极角排序的时间复杂度为O(nlogn),扫描点的过程花费O(n)时间。

例子

考虑以下多边形:

```

P(0,0)

Q(1,1)

R(2,0)

S(3,2)

T(4,1)

U(3,0)

V(2,1)

```

按极角排序后,点序为:

```

P(0,0)

U(3,0)

R(2,0)

V(2,1)

Q(1,1)

T(4,1)

S(3,2)

```

应用Graham扫描法:

1.将P入栈。

2.将U入栈。

3.计算PU×UR,为正,将R入栈。

4.计算PU×UV,为负,弹出U。

5.计算PR×VR,为负,弹出R。

6.计算PV×VT,为正,将V入栈。

7.计算PV×TQ,为正,将T入栈。

8.计算PV×ST,为负,弹出T。

凸包为:

```

P(0,0)

U(3,0)

V(2,1)

Q(1,1)

```

结论

Graham扫描法是一种简单而高效的算法,用于计算多边形的凸包。其时间复杂度为O(nlogn),并且在实践中广泛使用。第五部分Jarvis行进法求多边形凸包关键词关键要点Jarvis行进法原理

1.从多边形任意一点出发,找到极左点,以此点作为凸包初始点;

2.以初始点为起点,计算从该点射向多边形其他点的极角;

3.按照极角递增的顺序依次访问每个点,当遇到一个点使凸包和该点之间的连线将凸包内某条边的部分对外凸出时,更新凸包;

Jarvis行进法实现

1.实现一个极角比较器,用于比较两个点相对于某一点的极角大小;

2.维护一个凸包点集合,随着算法进行不断更新;

3.遍历多边形所有点,使用极角比较器确定每个点与凸包的关系,并对凸包进行相应更新;

Jarvis行进法时间复杂度

1.与多边形点集大小无关,算法的时间复杂度为O(nh),其中n为多边形点集大小,h为凸包中点集大小;

2.一般情况下,h远小于n,因此算法时间复杂度接近线性的O(n);

3.当多边形点集近似凸包形状时,h接近n,此时算法时间复杂度接近平方级O(n^2);

Jarvis行进法扩展

1.Graham扫描算法:通过对多边形点集进行排序,可以优化Jarvis行进法,时间复杂度为O(nlogn);

2.快速凸包算法:通过同时处理多条凸包边,进一步优化了Jarvis行进法,时间复杂度为O(n);

3.增量法:当多边形点集动态变化时,可以采用增量法对凸包进行维护,时间复杂度为O(nlogn);

Jarvis行进法应用

1.图像处理:检测图像中的凸形区域;

2.计算机图形学:提取物体边界或生成凸多边形模型;

3.GIS:确定地理区域的凸包边界;

4.碰撞检测:检测物体在空间中的碰撞区域;

5.机器学习:训练数据可视化和特征提取;

Jarvis行进法趋势与前沿

1.随着云计算和分布式计算的发展,Jarvis行进法等凸包算法在处理大规模数据集方面具有潜力;

2.探索Jarvis行进法与其他凸包算法的融合,以提高算法效率和鲁棒性;

3.研究Jarvis行进法在高维空间和非欧几里得空间中的应用;

4.开发基于Jarvis行进法的在线和实时凸包计算算法;Jarvis行进法求多边形凸包

简介

Jarvis行进法是一种有效且简单的算法,用于计算多边形的凸包。凸包是一个多边形,包含所有给定多边形中的点,并且没有其他点在凸包之外。

算法步骤

Jarvis行进法包含以下步骤:

1.选择一个点作为凸包的起始点。通常选择多边形中最左侧的点作为起始点。

2.找到起始点的凸壳。凸壳包含所有与起始点相邻的点,并且点和起始点之间的线段不会穿过多边形内部。

3.找到凸壳中最顶端的点。这是凸壳中y坐标最大的点。

4.从当前凸壳中最顶端的点到上一步找到的凸壳中下一个点,绘制一条线段。

5.如果这条线段与多边形内部没有相交,则该点是凸包的一部分。否则,移除该点并重复步骤3。

6.继续重复步骤4和5,直到凸包形成。算法停止时,所选定的所有点都将形成多边形的凸包。

算法复杂度

Jarvis行进法的平均时间复杂度为O(nlogn),其中n是多边形中的点集。最坏情况下的时间复杂度为O(n^2)。

伪代码

```

Jarvis行进法(点集P)

选取P中最左侧的点作为起始点

找到起始点的凸壳

凸包<-凸壳

while凸包不是空集

找到凸包中最顶端的点p

p'<-凸包中p的下一个点

if线段pp'不与P内部相交

p'添加到凸包

else

移除p

endif

endwhile

返回凸包

endJarvis行进法

```

证明

Jarvis行进法正确性的证明如下:

*凸壳的第一个点在凸包中:起始点显然在凸包中。

*凸壳的每个后续点都在凸包中:每个后续点都是通过从上一个点到下一个点的线段确定的。如果线段不与多边形内部相交,则该点也在凸包中。否则,上一个点位于凸包之外,这是一个矛盾。

*没有其他点在凸包之外:任何不属于凸包的点都会与凸包中两个相邻点之间的线段相交。

因此,Jarvis行进法始终生成多边形的正确凸包。

应用

Jarvis行进法广泛用于各种应用中,包括:

*碰撞检测

*计算机视觉

*机器人学

*凸包计算

*几何优化第六部分快速凸包算法关键词关键要点快速凸包算法

主题名称:增量法

1.从点集中选取一个点作为起始点。

2.对于每个剩余点,计算其与起始点和当前凸包上相邻两点的法线向量。

3.如果法线向量的内积为正,则说明当前点在凸包外部,需要将其添加到凸包边界。

4.重复步骤2-3,直到所有点都被检查。

主题名称:扫描法

快速凸包算法

简介

凸包算法是一种计算多边形凸包的算法,凸包是指多边形的所有点中,可以被一条直线所覆盖的所有点集合。快速凸包算法是一种高效的算法,其时间复杂度为O(nlogn),其中n为多边形的顶点数。

算法步骤

1.预处理

*将多边形顶点按x坐标从小到大排序。

*如果存在重复的顶点,则删除重复点。

2.初始凸包

*选取第一个和最后一个顶点,作为初始凸包的两个凸点。

*连接这两个凸点形成一条线段。

3.凸包扩展

*从剩余的顶点中选取一个不在当前凸包上的点p。

*判断p点是否在当前凸包的内部还是外部。

*如果p点在外部,则从凸包中移除最后一个凸点,并添加p点。

4.循环

*继续执行步骤3,直到所有剩余顶点都已处理。

算法复杂度

快速凸包算法的时间复杂度为O(nlogn),其中n为多边形的顶点数。这是因为该算法使用了分治法,将问题分解为多个较小的子问题,并使用归并排序对顶点进行排序。

扩展

凸包的性质

快速凸包算法还可以用于计算凸包的某些性质,如:

*凸包面积:可以根据凸包顶点的顺序计算凸包面积。

*凸包周长:可以根据凸包顶点之间的距离计算凸包周长。

*凸包直径:可以计算凸包中任意两点之间的最大距离,得到凸包直径。

改进算法

快速凸包算法可以进一步改进,以提高其效率。一些改进算法包括:

*Graham扫描算法:时间复杂度为O(nlogn),但对于凸包上顶点较少的点集效率更高。

*Jarvis算法:时间复杂度为O(nh),其中h为凸包上的顶点数。

*QuickHull算法:时间复杂度为O(nlogh)。

应用

快速凸包算法广泛应用于计算机图形学、图像处理和计算几何学等领域。一些常见的应用包括:

*碰撞检测:确定两个或多个对象是否相交。

*路径规划:为机器人或车辆生成在障碍物周围的路径。

*图像处理:提取图像中的对象轮廓。

*计算几何:解决涉及多边形和凸包的几何问题。第七部分凸包在算法中的应用关键词关键要点【凸包算法在几何问题的应用】:

1.确定凸包的边界:凸包算法可以帮助确定给定点集的凸包边界,从而简化几何问题。

2.计算凸包的面积和周长:通过凸包算法,可以有效计算复杂多边形的面积和周长,避免了对原始多边形进行繁琐的计算。

3.多边形相似性和匹配:凸包算法可用于比较不同多边形的相似性,并进行快速匹配,用于模式识别和图像处理等应用。

【凸包算法在数据科学中的应用】:

凸包在算法中的应用

凸包是一个多边形的凸集,即多边形的所有内部角都小于180度。凸包在算法中有着广泛的应用,尤其是在几何和图形算法领域。

#几何应用

1.凸包面积和周长的计算

凸包的面积和周长可以通过凸包的点集轻松计算。面积可以使用三角形面积公式求和得到,而周长则可以通过计算凸包上所有边的长度之和得到。

2.点集的最小外接矩形和最小外接圆

凸包可以用于计算点集的最小外接矩形和最小外接圆。最小外接矩形可以通过找到凸包的四个极值点(两个x坐标最大值点和两个y坐标最大值点)来确定,而最小外接圆可以通过计算凸包所有点到某个中心的距离之和的最小值来确定。

3.凸包算法

凸包算法用于查找点集的凸包。这些算法包括:格雷厄姆扫描算法、Jarvis算法、快速凸包算法和分治凸包算法。这些算法的时间复杂度通常为O(nlogn),其中n是点集中的点数。

#图形算法

1.裁剪和可见性

凸包可以用于裁剪图形中的不可见部分。对于多边形或其他凸形,可以通过使用它们的凸包来快速确定哪些部分可见,哪些部分不可见。这可以提高图形渲染性能。

2.碰撞检测

凸包可以用来快速检测两个凸形之间的碰撞。这可以通过检查两个凸包是否有重叠区域来完成。

3.路径规划

凸包可以用于规划在多边形区域内的路径。可以通过将多边形分解成凸包,然后在每个凸包上规划路径来完成。

#其他应用

1.机器学习中的特征提取

凸包可以用于从点集中提取特征。例如,在图像处理中,凸包可以用来提取对象的形状特征。

2.数据挖掘中的聚类

凸包可以用来对数据点进行聚类。通过找到数据点的凸包,可以将数据点划分为不同的簇。

3.计算几何中的其他算法

凸包可以用作其他计算几何算法的基础。例如,凸包可以用于计算凸多边形的直径、宽带和面积。

4.运动规划和机器人学

凸包算法可以用于规划机器人在复杂环境中的运动。通过计算机器人的凸包,可以确定机器人的可达区域,并规划避免与障碍物碰撞的路径。

5.游戏开发

凸包算法可以用于生成游戏中的关卡和场景。通过使用凸包算法来生成地形和障碍物,可以提高游戏的真实感和可玩性。

6.图像处理

凸包算法可以用于处理图像。例如,凸包算法可以用来去除图像中的噪声,或提取图像中的对象。第八部分凸包在计算机图形学中的应用关键词关键要点可视化

1.凸包可用于创建复杂形状的二维可视化,例如,用于显示地理区域或表示数据点分布的空间。

2.凸包可以帮助识别数据集中离群值或意外数据点,从而提高数据分析的可视化效果。

3.凸包可以作为一种空间索引结构,用于快速过滤和检索数据,从而加速可视化渲染过程。

图像处理

1.凸包可用于执行图像分割,通过识别图像中不同对象的边界并提取其凸形区域。

2.凸包可以在边缘检测中使用,通过计算图像中连续像素的凸包来增强边缘特征。

3.凸包可以应用于形状匹配,通过计算两个或多个形状之间的凸包距离来评

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论