gpt4 book ai didi

math - 3d 成像 : defining an ellipsoid based on 3 given ellipses which are parallel to the Cartesian planes

转载 作者:行者123 更新时间:2023-12-01 02:52:55 25 4
gpt4 key购买 nike

对于 3d 成像软件,我正在编码:

我需要定义一个椭球 E,它可以在空间中具有任何半径、中心和旋转
alt text

用户界面允许用户控制 3 个椭圆,它们是椭圆的“切片”(图像中的红色、绿色、蓝色),并且(根据定义)平行于主要笛卡尔平面(x-y、y-z.
x-z)

这 3 个椭圆是整个椭圆的一部分,并定义了整个椭圆
alt text

每个切片都可以在空间中拖动、调整大小或旋转,并且
每个切片都是完全定义的:它是中心在空间中的 3d 位置,它是 2 个半径,它是与轴平面的距离。

显然,每次更改都会影响椭圆体 E 和其他 2 个派生椭圆的参数。

我需要根据对切片所做的更改重新计算椭球 E 的方程

(椭圆体的首选方程类型应该可以很容易地推导出 X-Y 椭圆切割(变量 z))

有任何想法吗?
提前谢谢
萨尔

最佳答案

我认为这个问题的关键是重写matrix form中的初始椭圆方程: xTAx , 其中 x = {x,y,z} 和 一个 是肯定的。服用

Ellipsoid matrix.

我们可以更新 一个 通过 similarity transform .因此,更新后的矩阵为 一个' = UTAU 在哪里 U orthogonal matrix犹他州 是它的转置。那么一个'用于更新其他 View 。

从围绕三个轴的旋转矩阵开始

Rotation Matrices about the three axes.

我们可以很清楚地看到,围绕轴的旋转将影响 中的 8 个项。一个 .因为,一个 是对称的,这减少到仅更改 6 项中的 5 项。缩放/拉伸(stretch)也很容易完成。

我们首先假设拉伸(stretch)沿 x 轴(或任何适当的轴),所以 小号 是具有对角线 {sqrt( s ), 1, 1} 的对角矩阵,其中 s 是应用的拉伸(stretch)量。然后将缩放矩阵旋转到正确的应用方向,即 RTheta S RThetaT ,其中 Theta 是正 x 轴与顺时针拉伸(stretch)方向之间的角度。注意这里旋转的相反顺序,如 RThetaT 可以认为是旋转坐标以便 小号 拉伸(stretch) x 轴和 RTheta 将它们旋转回来。例如,如果 x-y 平面沿 x = y 重新缩放因子 s,则

scaling matrix

小号 适用于 一个 以与旋转相同的方式,同样,很容易看出除了 zz 项之外的所有项都直接受到缩放操作的影响。

关于math - 3d 成像 : defining an ellipsoid based on 3 given ellipses which are parallel to the Cartesian planes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4276577/

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