问题标签 [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.
api - Maya 变换节点未出现在 DAG 中
在此讨论之后,我发现使用 python 命令cmds.refresh()在循环中刷新 Maya 场景最终会导致应用程序崩溃(在循环返回之前它会耗尽内存)。
讨论中提出的问题与创建 nurbs 布尔曲面有关,首先,取大球体和以大球体表面为中心的小球体之间的差异,然后取所得 nurbs 曲面和第二个小球体之间的差异领域。此几何体的 DAG 层次结构是一个 surfaceVarGroup、nurbsBooleanSurface1,它是三个变换节点 nurbsBooleanSurface1_1、nurbsBooleanSurface1_2 和 nurbsBooleanSurface1_3 的父级,每个节点都有自己的形状节点的父级。
奇怪的是,虽然执行
(其中nurbsSphere1是大球体,而nurbsSphere2是两个小球体中的第一个),然后是
按预期产生了 [u'nurbsBooleanSurface1_1', u'nurbsBooleanSurface1_2'] ,随后执行
(其中nurbsBooleanSurface1是由上述布尔计算产生的“单凹坑”nurbs 表面,而nurbsSphere3是两个小球体中的第二个),然后是
再次产生 [u'nurbsBooleanSurface1_1', u'nurbsBooleanSurface1_2']; nurbsBooleanSurface1_3 丢失。
amorten 的解决方案包括在第二次布尔计算后通过调用cmds.refresh()刷新场景。但正如我所说,这在循环中不起作用(其迭代次数大于 100 次)。
从那以后我发现 nurbsBooleanSurface1_3 在程序执行过程中并没有作为 DAG 节点出现;它最后会“弹出”。以下 c++ API 代码遍历场景中的所有 DAG 节点:
输出窗口中的相关片段是
这显然没有提到难以捉摸的 nurbsBooleanSurface1_3。
所以我的问题是,这个节点或其数据在程序执行期间存储在哪里以及以什么形式存储?它一定在 Maya 的数据库中的某个地方。
弄清楚它在哪里之后,我也想知道如何访问它。
math - 查找曲率超过预定义值的 NURBS 曲线部分
我试图找到 NURBS 曲线的尖角。对于这个问题,我定义了一个极限曲率。我试图在曲线上找到曲率高于此值的部分。一种选择是在曲线上插值并计算所有值的曲率,但这可能需要时间并且可能会遗漏一些尖点。关于如何以有效方式找到这些部分的任何想法?
javascript - 如何在 Three.js 中使用 NxN 控制点制作 NURBS 曲面
昨天我试图在 3D [F(x,y)] 中绘制一个数学函数。我是怎么做到的?我计算了空间中的一些点(x,y,z),并在那里画了一个白点。
第一个问题: 当我移动场景时(使用 Orbital Control),性能太差了!所以,我一直在寻找解决方案,我意识到 NURBS 曲面可能是我的解决方案。但是,这里的问题是我找不到定义很多控制点的方法。我正在考虑创建一个具有 50 x 50 控制点的 NURBS 曲面(如上图),但我只能创建一个具有 3 x 4 点的 NURBS 曲面。这里的代码:
结果:
问题: 你知道是否有办法说:“嘿,NURBS Surface,你应该把这个 50x50 的向量数组/矩阵画出来!”?
第二个问题: 那些函数不存在的点呢?
问题: 我可以在数学函数的函数中绘制一种平面吗?
c++ - C++ 模板专用 getter
我目前正在编写一个使用 的程序NURBS surfaces
,您可以在其中执行两个方向(U
和V
)的算法。为了避免代码重复,我尝试使用模板,但我对使用它们毫无经验。这是我想做的一个小例子:
但这由于 main 中的最后一行而无法编译(VS2015,但我认为这不是编译器的错):
我接近上述功能的唯一方法是同时指定主方向和另一个方向作为模板参数,如下所示:
但这似乎不是很优雅。
c# - 如何从计算点渲染 NURBS 曲面网格?
我正在使用 OpenTK(OpenGL 的 ac# 包装器)绘制使用 Cox-deBoor 算法计算的 NURBS 曲面。该算法给出了表面上的各个点。如何从这些点渲染整个表面?另外,如何绘制这些点的线框?
谢谢!
math - 将 3d 点或 NURB 曲线投影到 NURB 曲面参数空间
我有一个以 NURB 曲线为界的 NURB 曲面,我如何找到它们对 NURB 曲面的参数化?我正在使用 McNeel and Associates 的 openNurbs 来评估 NURB 实体本身,但没有工具来投影点或转换它们的参数化。我目前的解决方案是使用最陡下降沿曲线近似 3d 点,但这非常低效。
javascript - 在 webGL 中渲染 NURBS 表面
在 webGL 中渲染 NURBS 表面时,我需要一些帮助。几天前,我们的教授让我们用 NURBS 绘制一面旗帜并为其制作动画。我们必须使用 webGL(并且不能 tree.js...)。我不知道如何进行(尽管我或多或少地了解 NURBS 和镶嵌的理论)。有什么提示吗?
免责声明:我不是在寻求解决方案。这是违反规则的,我想自己得到它。我只需要指出正确的方向。
提前致谢
nurbs - 如何找到任何给定 NURBS 控制点的曲面控制点?
我已经阅读了 Pilot3d ( http://www.pilot3d.com/NurbSecrets.htm ) 的“NURBS 的肮脏小秘密”一文,并对位于表面的控制点很感兴趣。
它确实解释了每个控件都有一个各自的表面点,但它并没有解释它们是如何找到的以及如何移动表面控制点转换为原始控制点。如果我不得不猜测,当控制点的贡献达到最大值时,您会通过寻找表面上的点来找到表面控制点。不确定将更改转换回原始控制点
math - 有人知道如何对 2 级 NURBS 进行光线追踪吗?
一段时间以来,我一直在编写 GLSL 光线跟踪,并且做了一些改进,但是自从查看天以来,我认为光线跟踪曲面而不是许多三角形会快得多,所以我遇到了 NURBS。如果我写下方程式(扩展 --> 仅 +、-、*、/、sqrt 和平方),我看不到任何方法来获得与射线的交点。
你们中有人知道如何对 2 级 NURBS 进行光线追踪吗?
matlab - 点到 NURBS 曲面的距离
我正在寻找一种简单的方法来使用 matlab 计算点到 nurbs 表面的最小距离。我正在寻找最近的点 => 不是正交投影。我已经阅读了采样的概念以开始,然后进行牛顿迭代,但当时这超出了我的 matlab 能力。感谢帮助。