gpt4 book ai didi

graphics - 从球坐标旋转体

转载 作者:行者123 更新时间:2023-12-02 22:03:13 25 4
gpt4 key购买 nike

是否可以旋转其顶点在球坐标中定义的物体。目前我正在使用 VHDL 进行拼贴项目,内容是旋转十二面体并通过 VGA 进行呈现。

我申请了pinhole camera model方程,并且只需要两次正弦/余弦计算和每个顶点两次乘法。我只是想在两个角度上使用 3 个步骤绕第三轴旋转,但我无法找出正确的方程,即使这是可能的。

编辑

我想我明白了。

在与相机方向相同的第三轴上旋转只是计算相机坐标后的二维变换。这意味着比在 3 个轴上旋转(可以是两个轴和一个倾角)您需要应用总共 4 次正弦/余弦计算和 4 次乘法。如果有人提出更好的建议,请随时发布答案。

最佳答案

通过改变 θ 可以绕 y 轴旋转,通过改变 φ 可以绕 z 轴旋转。不过,绕 x 轴旋转有点困难。

一种简单的方法是将所有内容转换为直角坐标,执行旋转,然后转换回来。

(x,y,z)(球面到笛卡尔)的方程为

x = r sin θ cos φy = r sin θ sin φz = r cos θ

绕 x 轴旋转 (x,y,z) 到新点 (x', y', z') 角度 α 的方程为

x' = x   = r sin θ cos φy' = y cos α - z sin α   = (r sin θ sin φ) cos α - (r cos θ) sin αz' = y sin α + z cos α   = (r sin θ sin φ) sin α + (r cos θ) cos α

(r, θ, φ)(笛卡尔到球面)的方程为

r' = sqrt(x'2 + y'2 + z'2)   = rθ' = cos-1(z'/r')   = cos-1(sin θ sin φ sin α + cos θ cos α)φ' = tan-1(y'/x')   = tan-1(tan φ cos α - cotan θ sin α sec φ)

我不知道是否有办法进一步减少这种情况,但它应该有效。

关于graphics - 从球坐标旋转体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5278417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com