问题标签 [nurbs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1791 浏览

opengl - 如何渲染一个 NURBS 曲面?

我知道 GPU 对渲染三角形很有效。GPU 无法直接渲染 NURBS 曲面。从OpenGL 图形管道中的链接NURBS 中,我们知道这一点。要渲染 NURBS,需要三角剖分。我不知道三角测量操作发生在哪里。它是由 CAD 建模软件还是 GPU 执行的?我猜这是由 CAD 建模软件完成的。那么 NURBS 曲面的三角测量功能是任何 CAD 建模软件的核心任务吗?这项任务是否非常复杂,或者学术研究人员几乎完全解决了这个问题?

为什么我有这个问题?我发现 NURBS 曲面在 CAD 建模软件中是光滑的?但是,如果我先将 NURBS 曲面转换为三角形网格并通过 MeshLab 打开它。在 MeshLab 中,某些区域并不平滑。我希望知道管道中的哪个部分导致了问题。

0 投票
1 回答
546 浏览

c - B样条曲线结束并从原点开始?

我正在生成具有 10 个控制点的 3 阶 B 样条曲线。我的结向量有 14 个条目,范围从 0 到 1。出于某种原因,我的曲线总是在原点开始和结束。如果任何结与另一个结相等,它也无法绘制曲线。

这是我的基函数代码:

其中 i 是当前点(0 到 9),p 是度数,3,u 是我们在我的域 [0,1] 中的位置。我的曲线制作函数调用这个基函数,看起来像这样:

其中 n 是点数,10,p 是度数,3。

作为参考,这里是整个程序:

0 投票
1 回答
979 浏览

python - NurbsCurve MatrixMath Maya api Python

我正在创建一个工具集,用于使用 python 在 Maya 中创建 nurbs 曲线/曲面。

我有一组字典,其中包括 cvPositions、knots、form 等。每个字典都描述了一个预设的 3d 形状(立方体、圆形、金字塔等)。我还有一个存储在节点元数据中的 3d 矩阵,用作形状的偏移量。这允许您在不移动变换的情况下缩放/移动/旋转形状。

问题在于我应用这个矩阵的方式非常慢:

首先,我将在包含曲线的(原始)变换的位置创建一个新的(编辑)变换。接下来,我将把世界空间中的 cv 位置从 (orig)transform 转移到 (edit)transform 接下来我将把 (edit)transform 移动到矩阵位置。最后,我会将 cvPositions 转移回 (orig) 变换

当创建数百个形状时,这变得非常缓慢......

有人可以描述一种将矩阵应用于一组 3d 点的数学方法吗?也许使用数学模块或numpy之一?

或者,

有没有办法使用 OpenMaya api 函数来做到这一点?也许用 MPointArray?这是我在这方面得到的:

0 投票
1 回答
154 浏览

vertex - Ogre3D - 通过顶点渲染水波?纽布斯?

我有一个 Ogre3D 应用程序,我想用波浪渲染一个代表水的表面。我想我不是唯一一个有这个目的的人,所以我一直在寻找一个可以效仿的例子。我想如果我想创建一个水面并想像波浪一样移动它,我必须创建一个具有许多顶点的表面(根据我想要的精度),然后控制每个顶点的高度。由于水会很大,我认为水会需要很长时间才能渲染,所以我在徘徊是否最好通过顶点或nurbs渲染它?或者有没有更好的方法?

0 投票
2 回答
139 浏览

nurbs - 在 BSpline 中包含以下内容是否合理?

我有一个封闭的 3 阶(2 级)BSpline,它具有以下参数

9 个控制点 14 个结点

为什么关系是 9 + 3 + 2 = 14?

0 投票
1 回答
1612 浏览

spline - 控制和结上的封闭式和开放式 NURBS 之间有什么区别吗?

我想知道在控制和结上的封闭和开放的nurbs之间是否有任何区别。

我查了很多文件,但找不到确切的答案,所以在这里问。

0 投票
1 回答
792 浏览

c# - NURBS 线的长度

我有一条 NURBS 线,它总是由 3 个点、3 个权重、节点向量组成,并且是 2 级的。

我需要计算这条线的长度,但我在网上找不到任何方法可以这样做。

它不必 100% 准确,转换成折线并计算出段的组合长度也可以。有没有人有什么建议?

0 投票
1 回答
565 浏览

maya - 从 ASC 文件中读取 Maya 中的 NURBS 控制点

假设我有一个具有 100 (x,y,z) 坐标的 ASC 文件(表示类似螺旋的世界线轨迹)。我想在 Maya 中导入该文件并使用我的 ASC 文件中的每个坐标作为控制点创建一个 NURBS。

我知道如何在 python 中导入 asc 文件,但我不知道如何从中创建 NURBS 控制点!

我认为它应该是一个简单的脚本,但我是 MEL 脚本和 Maya 驱动的 Python 的新手。MEL 或 Python 中的任何脚本片段可以让它工作吗?

谢谢!

0 投票
1 回答
1586 浏览

math - 从点列表创建平滑的 nurb

我正在开发一个用户可以在其中绘制曲线的 3D 图形应用程序。我记录了用户绘制的曲线,我想从记录的点集创建一个平滑的 nurb。我尝试使用 openNurbs 库,但找不到使用该库进行拟合的方法。如何将一组点拟合到一个 nurb?

0 投票
1 回答
360 浏览

nurbs - Nurbs 修剪表面

我正在从 STEP 文件中读取 NURBS 曲面以及它们的边界曲线。现在我想对这些表面进行镶嵌。

我读过的每个算法都谈到了参数空间中的边界曲线,带有参数 t 的曲线,它映射到二维坐标 (u,v),即表面的参数坐标。

问题是在 STEP 文件中,我在世界空间中定义了边界曲线。我的问题是:有一种有效的方法可以将曲面上的曲线从世界空间转换为参数空间?

我能想到的唯一方法是从该曲线生成大量点,然后在参数空间中拟合一条新曲线,但我想有一种更有效的方法可以做到这一点,因为知道曲线位于表面上。

谢谢