我写了一个电子表格来计算这个。如果需要,您可以在https://skydrive.live.com/redir?resid=23B7BEDE6527529E!529&authkey=!AGboDW72AySsnK8上看到它。(这应该会产生一个在线工作版本,但您也应该能够下载它。)
基本技术是这样工作的:
- 计算出未弯曲端点的 X 和 Y 坐标
- Scrunch 那些使用简单缩放,以获得所需端点的 X 和 Y 坐标
- 从那些角度工作
这涉及到相当多的计算。您可以在该电子表格中进行操作,但所有步骤如下:
首先,我将您的角度转换为使用坐标几何约定 - 据我所知,您从 3 点钟开始顺时针测量,但在坐标几何中,正角逆时针方向更正常。所以你的开始和结束角度分别变成 191 度和 67 度。(我这样做是因为我发现这样的数学不太容易混淆。))
接下来,电子表格计算出起点和终点的半径。以下是我用于起点和终点的公式:
=D2*D3/SQRT(POWER(D3*COS(RADIANS(D4)),2) + POWER(D2*SIN(RADIANS(D4)),2))
=D2*D3/SQRT(POWER(D3*COS(RADIANS(D5)),2) + POWER(D2*SIN(RADIANS(D5)),2))
D2 和 D3 是 X 和 Y 半径。D4 是开始角度,D5 是结束角度(调整为“常规”角度)。我从标题为“相对于中心的极坐标”部分的椭圆上的维基百科项目中得到了这个公式。该等式采用一个角度,并告诉您椭圆在该角度处的半径。
接下来我用它来计算起点和终点的 X 和 Y 坐标。以下是起始 X 和 Y 的公式:
=$B$8*COS(RADIANS(D4)) + D2
=D3-$B8*SIN(RADIANS(D4))
如前所述,D2 和 D3 是 X 和 Y 半径,而 D4 是起始角度。(末端 X 和 Y 的公式仅在 D5 中看起来相同。添加 X 半径的原因是没有这个数字,范围从 -Xradius 到 +Xradius。加上这意味着它们的范围从 0 到宽度。Y 轴确实类似的东西,但我已经倒置它以获得屏幕坐标,因为计算机图形系统通常倾向于将其颠倒(增加 Y 沿着页面向下)。是的,我倒置它但纠正了角度并不完全一致。 。对不起!
接下来我们计算压缩后的 X 和 Y。以下是起点的公式:
=B9/B2*B13
=B10/B3*B14
B9 和 B10 是上一步计算的预拉伸 X 和 Y。B2 和 B3 是原始宽度和高度,而 B13 和 B14 是打褶后的宽度和高度。(当然,最终公式看起来非常相似。)所以这只是一个简单的缩放操作。
最后,我们从这些计算角度。这是开始角度公式(结束角度几乎相同)
=MOD(DEGREES(ATAN2(B16 - $D$13, $D$14-B17)), 360)
ATAN2 函数采用 X 和 Y 坐标,并告诉您从原点到 X、Y 点的直线角度。Excel 以弧度工作,因此我们必须将其转换回度数(就像我在早期公式中将度数转换为弧度一样)。然后我将其采用 MOD 360 以避免出现任何负角。ATAN2 永远不会产生大于 PI(即 180 度)的值,并且会为超过 PI 的角度产生负值。取模 360 将其包装回正数。
然后最后一步是将其转换回您的顺时针角度系统:
= 360 - B19
喂入您拉伸的 1.88/3.4 尺寸,我们得到 165.51 和 287.70 度。这与你的数字不太相符,但我正在努力弄清楚你从哪里得到这些数字。它们是用眼睛完成的吗?喂食 2.5/2.55,我得到 171.71 和 299.51。同样,与您的略有不同,但相差不大。