首页 > 解决方案 > 用螺旋形曲线覆盖任何表面

问题描述

我对一个想法的可行性有疑问。我有一个曲面(可以通过方程 F(x,y,z) = 0 进行参数化或隐式定义),我想绘制一些适合曲面的螺旋线,即曲面上的螺旋线。实现这一目标的过程是什么?我有一个基本想法,灵感来自光线行进方法:我有我的表面(它有一个有限的区域),然后我在它周围“绘制”一条大螺旋曲线,并减小螺旋的半径。如果螺旋线与曲面相交,那么我会保存该点,最后我将获得在曲面上绘制螺旋线的点集......请随时问我有关该问题的问题。感谢您的关注。托马斯

标签: geometrycomputational-geometrygeometry-surface

解决方案


有不同的方法可以理解在曲面上“绘制螺旋曲线”。顺便说一句,我不确定您是否使用了正确的术语,因为螺旋线是类似弹簧的曲线,根本不平坦。相反,我将假设一些由隐式C(x,y)=0或参数x=Xc(t),y=Yc(t)表示描述的平面曲线。

一种方法是使用(u,v)表面的参数化,如纹理映射中使用的那样x=Xs(u,v), y=Ys(u, v), z=Zs(u, v)。例如,对于一个球体,(u,v)可以对应于球面系统中的角坐标。在这种情况下,映射就足够了x=u, y=v,曲线的点和曲面的点之间会有直接的对应关系。

另一种方法是通过在方向上“挤出”曲线z以形成圆柱面,并与圆柱面相交。在这种情况下,您形成系统

S(x, y, z)= 0
C(x, y)= 0

其中是免费的,并作为 的函数z求解。(您也可以使用参数方程,有不同的组合。)实际上,您执行的是曲线的平行投影。(x, y)z

除了圆柱体,您还可以通过选择顶点(例如原点)并考虑“孔径”系数且自由的点(zx, zy, az)来考虑圆锥曲面。这个想法非常接近您的“半径减小”方法,并且对应于中心投影。az


推荐阅读