我有一组(x,y,z)点,在这些点上有相应的法线和值。所以数据的格式为[x y z nx ny nz c]
。我想在这些点上绘制一个垂直于那些法线的3D表面,并且颜色对应于该值。所以我想要的是surfnorm
的反面。
我已设法使用meshgrid
,interp2
和surf
绘制表面,但这并未考虑法线。我还想通过绘制垂直于法线的小方块来制作曲面。我设法做到了,但没有看到任何方法'填补'正方形之间的空间,因为这些点是不规则的间隔。
实现这一目标的好方法是什么?
答案 0 :(得分:1)
我看到两个选项:
1)使用基于点和法线的多边形进行直接几何重建。我认为patch
函数在这种情况下会很有用。它允许设置颜色。缺点:您需要进行大量手动处理和处理特殊情况。
2)假设拟合函数,例如2D多项式,并使用优化方法来匹配数据。您需要一个目标函数,一方面考虑x
,y
,z
数据,另一方面考虑正常组件nx
,ny
,{另一方面,{1}}。缺点:根据您对拟合函数的选择,它不太可能得到原始曲面的精确表示。