问题标签 [3d]

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 投票
1 回答
1618 浏览

java - JCanvas3D 与 Canvas3D

谁能告诉我在使用 JCanvas3D 而不是 Canvas3D 时我们面临的问题?

如何使用 JCanvas3D 实现透明度?

问候,哈里帕萨德

0 投票
6 回答
21611 浏览

java - 免费的java 3d引擎

可用于 java 的最佳 3D 游戏引擎是什么?我正在寻找具有良好设置可视化开发工具的东西。我查看了维基百科上的可用列表:

http://en.wikipedia.org/wiki/List_of_game_engines

但我无法弄清楚每个引擎提供的工具集以及哪个免费的 java 3d 引擎拥有最好的工具集。

谢谢

0 投票
3 回答
6661 浏览

opengl - 查找 3d 点之间的旋转角度

我正在编写一个程序,它将沿着样条曲线绘制一个实体。我正在使用 Visual Studio 2005,并用 C++ 编写 OpenGL。我正在使用 FLTK 打开我的窗口(快速轻便的工具包)。

我目前有一个算法,将绘制一个基本三次样条,给定一组控制点,通过将点之间的间隔分解为子间隔并在这些子点之间绘制线段。子区间的数量是可变的。

画线代码效果很好,基本上工作如下:我使用样条方程沿样条曲线生成一组点并将它们存储在一个数组中(作为一个称为 Pnt3f 的特殊数据结构,其中坐标是 3 个浮点数,并且有一些方便的函数,如距离、长度、点和叉积)。然后我有一个循环遍历点数组并绘制它们:

如前所述,此代码效果很好。现在我想做的是,我想挤出一个实体,而不是画一条线。我目前的探索是使用“圆柱”二次曲线沿线创建管。这有点棘手,因为我必须将 openGL 定向到我想要绘制圆柱体的方向。我的想法是这样做:

伪代码:

我的问题是获得点之间的角度。我只需要偏航和俯仰,滚动并不重要。我知道将两个点的点积除以两个点的大小的反余弦值,将返回它们之间的角度,但这不是我可以提供给 OpenGL 旋转的东西。我已经尝试在 2d 中执行此操作,使用 XZ 平面进行 x 旋转,并从原点制作点向量,但它没有返回正确的角度。

我目前的方法要简单得多。对于每个旋转平面(X 和 Y),通过以下方式找到角度:

反余弦((“x”值的差异)/点之间的距离)

“x”值取决于您如何设置飞机,尽管对于我的计算,我总是使用世界 x。

除非有一些问题使它在我还没有解决的正确象限中绘制出来,否则我想得到建议,看看这是否是一个好的实现,或者看看是否有人知道更好的方法。

0 投票
3 回答
2687 浏览

c++ - 3D 场景文件格式和查看器

我正在寻找用于保存和查看 3D 场景(工程仿真模型和结果的可视化)的跨平台解决方案,但那里(仍然)似乎并不多。

大约 10 年前,我对此进行了研究,然后选择了 VRML(并开始了最终转向OpenVRML的项目)。不幸的是,在过去的十年里,VRML/X3D 并没有变得无处不在。

理想的解决方案是提供一个 C++ 库,该库可以插入到某个级别的 3D 渲染管道中,以将 3D 场景捕获到文件中;以及一个可自由再分发的查看器,允许查看操作、部分隐藏、注释、尺寸标注等。至少应该支持 linux、mac 和 windows。

3D PDF 似乎可以满足大多数查看器的要求,但 Adob​​e sdk 显然只能在 Windows 上使用。

有什么建议么 ?

0 投票
5 回答
441 浏览

3d - 将变换应用于 3D 模型 - 法线 pb

我正在尝试将转换应用于 STL 文件中的 3D 对象(不创建结构化网格对象)。以下是我的操作步骤:我在 STL 文件中一一读取法线和面信息,将我的变换应用于每个顶点和面法线,然后将新的计算值写回另一个 STL 文件中。生成的文件中的顶点正常,但我的法线错误。似乎我不能像对顶点一样将变换应用于法线。这怎么可能??

0 投票
5 回答
975 浏览

graphics - 3D 激光扫描仪捕捉法线?

我工作的实验室大学正在购买用于扫描 3D 物体的激光扫描仪。从一开始,我们就一直在努力寻找一种能够从实际扫描表面捕获真实 RAW 法线的扫描仪。似乎大多数扫描仪只捕获点,然后软件进行插值以找到近似表面的法线。

有人知道是否真的有捕捉原始法线之类的东西吗?是否有扫描仪可以做到这一点,而不是从点数据中插入法线?

0 投票
4 回答
6030 浏览

opengl - OpenGL:模型视图矩阵的多用户向量?

有没有办法让OpenGL转换一个我用当前模型视图矩阵给它的通用向量并取回结果?

显而易见的方法是查询模型视图矩阵并自己进行乘法运算,但我几乎可以肯定应该有一种方法可以让 OpenGL 为我做这件事。

0 投票
4 回答
6617 浏览

graphics - Direct3D 几何:来自两个向量的旋转矩阵

给定两个 3D 向量 A 和 B,我需要导出一个从 A 旋转到 B 的旋转矩阵。

这就是我想出的:

  1. 从acos (A . B)导出余弦
  2. 从asin导出正弦(|A x B| / (|A| * |B|))
  3. 使用 A x B 作为旋转轴
  4. 使用本页底部附近给出的矩阵(轴角)

除了 0°(我忽略)和 180°(我将其视为特殊情况)的旋转之外,这工作正常。使用 Direct3D 库是否有更优雅的方法来执行此操作?我正在寻找 Direct3D 特定的答案。

编辑:删除了 acos 和 asin(参见Hugh Allen 的帖子

0 投票
4 回答
74253 浏览

opengl - OpenGL围绕一个点旋转相机

在 OpenGL 中,我试图围绕一个点旋转相机,相机与该点的距离为 r,并且在旋转时面向该点。换句话说,我希望相机沿距离中心半径为 r 的圆的圆周移动,相机在圆周上的任何点面向中心。

假设在 3d 空间中,圆的中心是 (3, 0, 3);

我试过了:

其中 CameraAngle 是围绕圆圈移动的度数。

我的最终结果是相机仍然沿原点旋转,而不是圆心。谁能帮我解决这个问题?谢谢!

0 投票
6 回答
6938 浏览

math - 计算沿路径的旋转

我正在尝试为一个对象设置动画,假设它是一辆汽车。我希望它从点开始

x1,y1,z1

指向x2,y2,z2。它移动到这些点,但它似乎是在漂移而不是指向运动方向。所以我的问题是:如何在我的 updateframe() 事件中解决这个问题?你能给我指出一些好的资源的方向吗?

谢谢。