问题标签 [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.
java - JOGL 是否支持 NURBS?
nurbs
我对in进行了一些研究jogl
,但不幸的是没有得到适当的结果,我怀疑jogl
不支持 nurbs?如果jogl
支持,有人可以指导我参考示例或文献吗?
3d - cinema4D - 使用带有拉伸样条线的布尔对象
背景
Freehand
我使用样条线工具手工绘制了一个字母(就我的绘画技巧而言),并使用Extrude Nurbs
.
现在你可以看到字母是a P
,所以我需要减去它的中心。因此,我想使用该Boole
工具从大的P
. 这是我的样条线:
我添加了P
and并将其设置为A 减 B(例如,在使用普通立方体和球体时有效)。现在结果和上图没有什么不同,A没有减去B。pSub
Bool
笔记
中间的小样条比外面的长(物体在铺设——>“更长”,因为 y 值更高)。
问题
有没有办法解决这个问题并从中删除pSub
,P
使其成为实际的P?
nurbs - nurbs 前两个控制点之间的直线
我一直在研究一段代码,它接收一条曲线(现在仅具有 x,y 坐标的点云)并将其参数化以使用 nurbs 逼近给定的形状。我遇到的问题是,生成的参数化曲线在前两个控制点之间是线性的(!),并且只有在其他控制点之间才接近输入曲线。关于为什么会发生这种情况的任何想法(即前两个控制点之间的线性段)?
还有,系统不让我发图。希望问题足够清楚..
point - 给定轴向坐标的 NURBS 曲线的点评估
我的问题是如何在给定轴向坐标的情况下获得位于定义为 NURBS 曲线的曲线上的点的第二个坐标(在 2D 中)。我有节点向量、控制点、它们的权重和基函数。
我查看了类似的问题(如何找出画布中贝塞尔曲线中特定点的 Y 坐标?),但到目前为止还没有找到好的答案。谢谢,米
algorithm - 贝塞尔三角形和 N-补丁
我正在尝试用多边形网格制作光滑的表面。因此,为了进行所需的细分,我想使用由贝塞尔三角形组成的 N-Patches。据我了解,贝塞尔三角形可以由三角形多边形网格组成,这些多边形网格由三角形基元组成,如她所见:
然而,这使任务复杂化。例如,如果我提供由三角形基元组成的多边形网格,我如何将贝塞尔三角形和 N 面片应用于多边形网格信息?对于三次贝塞尔三角形,我是否需要将所有多边形三角形绑定在一组 9 个三角形中,其中每个组代表一个更大的三角形,所以我得到了 9 个边界控制点,通过它我可以获得内部需要的控制点,用它对三次贝塞尔三角形执行 de Casteljau 算法,如下所示:
这似乎不实用,并且在许多情况下无法使用,例如多边形网格的 UV 贴图必须由这 9 个顶点三角形(一组 9 个基本三角形)构成。
对我来说,这似乎是贝塞尔三角形的唯一合乎逻辑的用法,但我认为贝塞尔三角形应该由每个基本多边形网格三角形构建而成,但这没有意义。如果您使用 de Casteljau 为 Bézier 三角形构建基本多边形网格三角形的内部控制点,那么有什么可以控制/平滑?构成多边形网格的基本三角形是完全平坦的,因为三角形的所有 3 个点都保证在同一平面上 - 因此即使使用贝塞尔三角形,三角形上的表面也会是平坦的,这是正确的行为。这就是为什么我推断贝塞尔三角形需要从许多基本三角形中创建出来。
一些快速参考:http ://www.gamasutra.com/view/feature/131389/b%C3%A9zier_triangles_and_npatches.php?print=1
3d - 如何将 3D 模型中的 NURBS 曲线转换为贝塞尔曲线
我有一个以 COLLADA 格式编写的 3D 模型数据“model.dae”。我想将此文件转换为三个 SVG 文件“model-front.svg”、“model-top.svg”、“model-left.svg”,这是正交投影中的某种几何图形。
如果 3D 模型中只有多边形,这可能很简单,但我的 3D 模型数据也包含 NURBS 曲线。NURBS 到多边形的转换可能会大致解决它,但如果 NURBS 曲线可以直接转换为一组 Bezier 曲线会更好,因为我期待在基于 Web 浏览器的应用程序中使用转换后的 SVG 文件,其中更小文件更好地分发。
如何将 NURBS 曲线转换为一组贝塞尔曲线?
cmake - 将 pcl::on_nurbs 添加到 PCL 1.7.1 和 ROS
我在 64 位 Kubuntu 14.04 上有一个 ROS Indigo。目前我面临一个大问题 - 缺少模块on_nurbs。我需要它来从点云生成网格。
我最大的问题是 ROS 与 PCL 挂钩的方式。尽管 PCL 现在或多或少正式成为外部依赖项,但 ROS 处理这种情况的方式是……嗯,不是很好。我在 OpenCV 上遇到过类似的(甚至可能是相同的 - 不记得了)问题 - 当我决定从源代码构建它以添加对 Qt、OpenGL 等的支持时,另一个依赖项被决定完全外部化,它们不在 Ubuntu 存储库中库的上游包中。有ROS感知这个东西,应该是在ROS和PCL之间加了胶水。
问题:添加 NURBS(表面模块的一部分)
到目前为止我做了什么:
我有
- 下载并构建了启用 NURBS 的 PCL 1.7.1(与 Ubuntu 14.04 和 ROS 随附的版本相同)
- (1) 从源安装 PCL - ROS 的 PCL 支持中断
- (2) 仅替换了表面库(还添加了它的所有包含等依赖项以及我的构建中的 nurbs)- ROS 的 PCL 支持中断
目前,我正在努力找出如何手动强制 CMake (因此还有catkin_make)使用我自己的版本(未安装,仅构建)。但我担心这会再次干扰 ROS。
在这种情况下,您对我有什么建议?如何在不再次破坏我的 ROS 安装的情况下继续操作?我真的很想学习如何添加这些缺失的点点滴滴 - 如上所述 - 我已经遇到过一次这个问题,现在这个问题可能会再次发生。
PS 对于那些说“这是一个 ROS 问题”的人:我已经在一周前发布了 ROS 答案,但仍然没有回复,并且 11 的意见指标(在发布后不久就变成了 - 一周前)令人沮丧至少可以说。发布问题一周后,那里的任何发展机会都微乎其微。我已经在这个问题上苦苦挣扎了两个多星期了......
python - Python,如何将 x;y 点列表定义的样条曲线转换为 NURB 曲线
是否可以将 (x;y) 坐标系转换为NURBS定义控制点和节点?
主要思想是我正在尝试在 python 中为空气风力发电机开发一个建模工具,并且我想在数学上将叶片建模为NURBS曲面,但是定义叶片横截面的曲线被归一化为 (x;y) 坐标文件。
现在我将所有 (x;y) 点定义为 2D Numpy 数组。
c++ - NURB 曲线表示为二维数组
我正在编写一个需要将所有 NURB 曲线点存储在二维数组中的 c++ 程序。
为了描绘它,我将使用直线的简单示例:
其中 1 代表这条曲线的坐标。
起初我一直在考虑在openGL中绘制nurb曲线,然后读取像素并将它们存储在二维数组中。但这似乎效率很低。
在给定所需参数的情况下,您是否知道在二维数组中生成此类曲线的更好方法?
python - Maya 变换节点未出现在列表中
下面的 Maya python 代码通过首先获取两个 nurbs 球体 nurbsSphere1 和 nurbsSphere2 的差异来给出 nurbs 布尔曲面,从而给出 nurbs 曲面 nurbsBooleanSurface1。然后,它获取此曲面和第三个球体 nurbsSphere3 的差异。结果,如大纲所示,是三个 nurbs 球体加上一个 surfaceVarGroup,nurbsBooleanSurface1,它“父”三个变换节点 nurbsBooleanSurface1_1、nurbsBooleanSurface1_2 和 nurbsBooleanSurface1_3。
Strangley(对我来说),列表命令 cmds.ls("nurbsBooleanSurface1_*", type="transform") 只产生 [u'nurbsBooleanSurface1_1', u'nurbsBooleanSurface1_2']; nurbsBooleanSurface1_3 丢失。
但是,当执行完上述代码后,打印命令
重新执行,结果为[u'nurbsBooleanSurface1_1', u'nurbsBooleanSurface1_2', u'nurbsBooleanSurface1_3']。
我尝试使用 time.sleep(n) 延迟执行最终打印命令,但无济于事。我曾经想过丢失的节点可能已经分离到另一个命名空间,然后在执行块完成时重新出现(绝望,我知道!)。我已经尝试使用函数和线程(后者只是表面上)重命名球体和曲面。第一次执行时未列出的nurbsBooleanSurface1_3的原因
仍然是一个谜。任何帮助将非常感激。