- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我试图在给定中心(Vector3)和沿 x、y 和 z 轴的边长的情况下计算长方体中的点。我在 math.stackexchange.com 上找到了以下内容:https://math.stackexchange.com/questions/107778/simplest-equation-for-drawing-a-cube-based-on-its-center-and-or-other-vertices它说我可以使用以下公式:
World 类的构造函数是:
World::World(Vector3 o, float d1, float d2, float d3) : origin(o)
{
// If we consider an edge length to be d, we need to find r such that
// 2r = d in order to calculate the positions of each vertex in the world.
float r1 = d1 / 2,
r2 = d2 / 2,
r3 = d3 / 2;
for (int i = 0; i < 8; i++)
{
/* Sets up the vertices of the cube.
*
* @see http://bit.ly/1cc2RPG
*/
float x = o.getX() + (std::pow(-1, i&1) * r1),
y = o.getY() + (std::pow(-1, i&2) * r2),
z = o.getZ() + (std::pow(-1, i&4) * r3);
points[i] = Vector3(x, y, z);
std::cout << points[i] << "\n";
}
}
然后我将以下参数传递给构造函数:
Vector3 o(0, 0, 0);
World w(o, 100.f, 100.f, 100.f);
所有 8 个顶点的输出坐标是:
(50, 50, 50)
(-50, 50, 50)
(50, 50, 50)
(-50, 50, 50)
(50, 50, 50)
(-50, 50, 50)
(50, 50, 50)
(-50, 50, 50)
这不可能是正确的。非常感谢任何指导!
最佳答案
问题在于 pow
调用中的按位 &
:在 y
和 z
组件中,它们总是分别返回 0 和 2 或 4。 -1^2 = -1^4 = 1,这就是为什么这些分量的符号总是正的。您可以尝试 (i&2)!=0
或 (i&2) >> 1
作为 y 分量。 z 组件也是如此。
关于C++ 长方体顶点的点(按位与),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22222035/
我正在尝试在 python 中给定边界内的 3D 长方体空间中生成 2000 个随机点。人们会怎样做呢? 最佳答案 import random xrange = (-1000.0, 1000.0) y
我正在尝试在 python 中给定边界内的 3D 长方体空间中生成 2000 个随机点。人们会怎样做呢? 最佳答案 import random xrange = (-1000.0, 1000.0) y
我对 HTML、CSS 有基本的了解。我想像这样用这 3 个 3D 长方体创建一个 HTML 页面 上图中的 3D 长方体对我来说看起来很复杂。那么有人可以建议如何使用 HTML 和 CSS 创建这个
我是一名优秀的程序员,十分优秀!