根据 Y 变化计算表面球体上的点 X/Y/Z
Calculate X/Y/Z of point on surface sphere from a Y change
我不太确定如何表述这个问题。
我正在寻找一种方法来从已知的 X/Y/Z 点计算球体(具有已知半径)表面上的新 X/Y/Z 点,其中 Y 已增加与球体无关。如果我能得到这个 Y 平面在球体内的半径,那么这就足够了,但我很难想象它。
Y越靠近球顶,半径变化越大。但是我不确定如何仅根据球体的半径和从中心增加的高度来计算球体内平面上这个圆的半径。
在此图像中,如果底部绿色板位于 Y=0;第二个是在 Y=5,球体的半径是 10,顶部绿色板截取圆的圆的半径是多少。
如果您的球体以原点为中心,您可以通过考虑原点处 xy 平面交点处的圆来计算偏移 y=b 处的平面圆半径。这给你一个半径为 r 的圆。位于此圆上的点 (a, b) 表示 |a|将是您想要的相交圆的半径。使用 x 轴和原点与 (a,b) 之间的线之间形成的三角形,我们知道 a = r*cos(arcsin(b / r)).
我不太确定如何表述这个问题。
我正在寻找一种方法来从已知的 X/Y/Z 点计算球体(具有已知半径)表面上的新 X/Y/Z 点,其中 Y 已增加与球体无关。如果我能得到这个 Y 平面在球体内的半径,那么这就足够了,但我很难想象它。
Y越靠近球顶,半径变化越大。但是我不确定如何仅根据球体的半径和从中心增加的高度来计算球体内平面上这个圆的半径。
在此图像中,如果底部绿色板位于 Y=0;第二个是在 Y=5,球体的半径是 10,顶部绿色板截取圆的圆的半径是多少。
如果您的球体以原点为中心,您可以通过考虑原点处 xy 平面交点处的圆来计算偏移 y=b 处的平面圆半径。这给你一个半径为 r 的圆。位于此圆上的点 (a, b) 表示 |a|将是您想要的相交圆的半径。使用 x 轴和原点与 (a,b) 之间的线之间形成的三角形,我们知道 a = r*cos(arcsin(b / r)).