所以我最近阅读了很多关于nurbs的内容,并且完全理解了nurbs曲线(甚至为它写了一个小型库)。但是我有一些表面问题。我可以看到我需要两组控制点。我的问题是这两组中点的区别是什么? 任何人都可以简单地解释它或给我一些链接吗?nurbs曲面中的控制点
0
A
回答
2
我认为我最喜欢的理解NURBS曲面(如果您已经理解NURBS曲线)的方式是线上的珠子。所以,让我们来看一个更简单的贝塞尔曲面的例子(假设你理解NURBS曲线,你理解贝塞尔曲线)。
三次贝塞尔曲线有4个控制点。想象一下贝塞尔曲线只是一条平滑的水平曲线。给定参数值(通常称为t),可以计算该曲线上的任意点。只需将t插入曲线的参数方程中,即可生成一个点。
现在想象你有4条水平贝塞尔曲线,每条曲线都在另一条曲线上方。如果将相同的参数值插入到所有4条曲线中,则会得到4个点,每条曲线对应一个点。那些是电线上的珠子。让我们调用水平曲线'的参数值。
取这4个“珠”点,并把它们当作垂直曲线的控制点。在另一个参数值(我们将像往常一样称之为't')评估曲线,它会给你一个观点。这一点在表面上。具体而言,这就是P(s,t)。
因此,给定一个4x4的控制点网格,您可以使用线上的珠来计算表面上的点。当s发生变化时,珠子沿着导线扫出不同的曲线。所有这些曲线的集合就是表面。
你可以用Nurbs曲线做同样的事情..你只需要一个s的结矢量,t的另一个结矢量和一个控制点的网格。
0
对于NURBS曲面,您不需要两组控制点,您需要一个2维网格或控制点网格。这个网格将有n行和m列,并且网格中的每个点将具有x,y和z坐标以及w值,即该点的NURBS权重。
相关问题
- 1. 如何为任何给定的NURBS控制点找到曲面控制点?
- 2. 切片NURBS曲面
- 3. 绘制NURBS曲线?
- 4. 在webGL中渲染NURBS曲面
- 5. 绘制NURBS曲线时结的意义?
- 6. 如何在生成NURBS曲面时施加C1连续性?
- 7. 如何将三次曲线的2个控制点转换为二次曲线的单个控制点?
- 8. 找到3D NURBS曲面的参数范围的边界框(轴向对齐)
- 9. 在three.js中制作曲面
- 10. 使用给定点计算曲线的控制点
- 11. 绘制QT中的3d点和曲面5.7
- 12. 如何绘制曲面中许多点的法线?
- 13. 如何根据3点以上的控制点列表绘制曲线
- 14. 在Bezier曲线中放置“好”控制点
- 15. 如何从犀牛NURB文件中提取曲线控制点
- 16. DirectX 11上的NURBS?
- 17. 给定控制点计算贝塞尔曲线的曲率半径
- 18. 在SharpGL中使用NURBS
- 19. 如何添加额外的控制点到贝塞尔曲线?
- 20. 解释 - 通过控制点曲线的公式
- 21. 绘制法线到曲面
- 22. CGAL Arrangement:曲面中的面
- 23. ListView中的焦点控制
- 24. uiscrollview中的页面控制
- 25. 用户界面问题 - 控制控制状态和焦点
- 26. Xcode如何在页面控制器中制作更多点
- 27. 在分段二次贝塞尔曲线上找到控制点
- 28. iOS 5页面卷曲与自定义视图控制器
- 29. ios页面卷曲显示视图控制器
- 30. 用自定义页面卷曲动画推视图控制器