用螺旋形曲线覆盖任何表面

时间:2019-06-26 14:28:48

标签: geometry computational-geometry geometry-surface

我对一个想法的可行性有疑问。 我有一个曲面(可以通过方程F(x,y,z)= 0对其进行参数化或隐式定义),并且我想绘制一些适合该曲面的螺旋线,从表面上看是螺旋线。 实现该目标的过程是什么? 我有一个基本的想法,该想法受射线行进方法的启发而得到:我的曲面(具有有限的面积),然后在其周围“绘制”大的螺旋曲线,并减小了螺旋半径。如果螺旋线与表面相交,那么我保存该点,最后我将获得在表面上绘制螺旋线的点集。 随时问我有关该问题的问题。 感谢您的关注。 托马斯

1 个答案:

答案 0 :(得分:0)

有多种方法可以理解表面上的“绘制螺旋曲线”。顺便说一下,我不确定您使用的术语是否正确,因为螺旋线是一种类似弹簧的曲线,并且根本不平坦。相反,我假设一些平面曲线由隐式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)(其中a是“孔径”系数和{ {1}}是免费的。这个想法非常接近您的“半径减小”方法,并且与中心投影相对应。