我有一个参数曲面s : R -> R -> (R,R,R)
,其中R是[0..1]
范围内的有界实数。曲面包含在单位立方体(0,0,0), (1,1,1)
中。我将该立方体细分为几个切片,形成一个3D阵列/网格。我想知道,鉴于那个表面,网格上的哪些点与它相交。换句话说,我需要一个功能:
discretize
: (surface : R -> R -> (R,R,R))
-> (cubeDim : (Uint, Uint, Uint))
-> [(Uint, Uint, Uint)]
这种天真的方式是简单地定期对surface
进行采样。但是,如果你选择一个小间隔,你就会有洞。如果你选择一个很大的间隔,你将做更多的工作而不是必要的。
是否有已知的快速算法?