- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Java3D 显示 3D 模型 (IFC)。我需要使用 IFC 模型给出的 2 个 vector 、一个方向 vector 和一个轴 vector 来旋转对象。
但我不知道如何获得正确的角度。
代码:
// Create vectors
Vector3f directionVector = new Vector3f(dx, dy, dz);
Vector3f axisVector = new Vector3f(ax, ay, az);
//Calculate angle
float angle = axisVector.angle(directionVector);
//create AxisAngle4f
AxisAngle4f axisAngle = new AxisAngle4f(axisVector, angle);
axisVector始终为(0.0,0.0,1.0),所以需要绕Z轴旋转
但是当我计算角度时,它似乎总是 1.5707964 (90°):
Example 1:
dir: (-1.0, 0.0, 0.0)
axis: (0.0, 0.0, 1.0)
angle: 1.5707964 (90.00000250447816)
AA: (0.0, 0.0, 1.0, 1.5707964)
Example 2:
dir: (0.0, 1.0, 0.0)
axis: (0.0, 0.0, 1.0)
angle: 1.5707964 (90.00000250447816)
AA: (0.0, 0.0, 1.0, 1.5707964)
Example 3:
dir: (1.0, 0.0, 0.0)
axis: (0.0, 0.0, 1.0)
angle: 1.5707964 (90.00000250447816)
AA: (0.0, 0.0, 1.0, 1.5707964)
我通过测试知道 -1.0 表示倒转 180°。
有人可以帮助我理解我做错了什么吗?
编辑
Documentation对于放置对象(方向和轴)
结果截图:
我做了*2测试来模拟-1.0的180°。正如您在上一个示例中看到的那样,屋顶已正确绘制。
最佳答案
您不需要方向 vector 和轴 vector 之间的角度。由于您的轴 vector 始终为 (0.0, 0.0, 1.0),因此您可以定义一个常量 vector (1.0, 0.0, 0.0),您可以将其与方向 vector 进行比较,即:
// Create vectors
Vector3f directionVector = new Vector3f(dx, dy, dz);
Vector3f axisVector = new Vector3f(ax, ay, az);
Vector3f constantBaseVector = new Vector3f(1, 0, 0);
//Calculate angle
float angle = constantBaseVector.angle(directionVector);
//create AxisAngle4f
AxisAngle4f axisAngle = new AxisAngle4f(axisVector, angle);
关于java - 使用方向和轴旋转 3D 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13820312/
我只有垂直鼠标跟随菜单 div。我以前用 flash 来制作它的动画,但现在我在 js 代码中有了它。唯一缺少的部分是 div 移动时轮子旋转的动画。将有 2 个轮子以不同的方式旋转,例如 wheel
我有一个覆盖整个屏幕的 UITextview。为了补偿键盘,我添加了这个处理程序: - (void)keyboardWasShown:(NSNotification*)aNotification{
UIDevice 方向和 UIInterface 方向有什么区别? UIDevice 方向:- [[UIDevice currentDevice] orientation] UI 界面方向:-
我正在尝试制作一个应用程序,其中每个 View Controller (.h/.m) 都有 2 个 NIB 文件……一个用于纵向,一个用于横向。这是支持方向的“标准”方式还是我必须以编程方式手动设置方
我想将我的 kml(或 xml)文件与地点一起使用,但同时能够搜索地点、使用路线或“共享 map ”功能。当我尝试在 Google 或 Bing 中执行此操作时,一旦我使用 KML 文件并搜索新位置,
我使用 OpenXML 制作了此文档。 。我正在学习 OpenXML。哦..太难了。 MainDocumentPart m = wd.AddMainDocumentPart(); m.Document
我研究蛇代码已经有一段时间了。它仍然相当原始,非常非常基本。我已经让碰撞起作用,食物生成和非常基本的运动。我正在努力的是弄清楚运动。每当您按下 WASD 或箭头键时,它都会移动头部,蛇的“ body
我需要一些帮助来解决我现在遇到的这个问题。我有 3 张图像,它们只是不同之处相同,它们代表蓝色、绿色和红色。我需要将它们组合起来并得到彩色图像。我正在使用 opencv 和 c++,但现在我遇到了这个
我是一名优秀的程序员,十分优秀!