等距角和刻度之间有什么联系



我正在尝试为自定义角度制定等距投影矩阵。在我使用的引擎中,有一个投影矩阵定义如下:

var project:Matrix = new Matrix();
projection.rotate(45 * (Math.PI / 180) );
scale = 1.4142137000082988; // not sure why this magic number is needed- now working on a "real" solution
projection.scale(scale * 1, scale * .5);

(上面的语法是ActionScript,但这应该无关紧要(我目前正在尝试了解维基百科文章。我看到 beta 角是 45,就像上面的矩阵一样,但我不明白"魔术"数字从何而来,以及等距角和比例比 (1,1/2( 之间的联系。

如果我想使用自定义角度,如何计算出我使用的角度而不是 45 ?,比例值和比例比例是多少?

根据数学,它看起来像

scale = 1/cos(θ)

scale = 1/sin(θ)

其中θ是旋转角度。

  • 45 * (Math.PI / 180)45°转换为弧度 ( π/4 (
  • cos(π/4) = sin(π/4) = 0.7071067811865476
  • 1/cos(π/4) = 1/sin(π/4) = 1.414213562373095,还有你的神奇数字。

(自从我在 JavaScript 中运行这些快速计算以来,千万分之一的差异(

只是为了保留视角,而不是其他。缩放不是实现等轴测正字法的必要条件。但是,当应用第一个旋转角度 (45 度( 时,图像会失去其原始比例。要解决此问题,通常会缩小图像。

轴测投影是一种特殊类型的正交投影,其中每个轴均等表示,轴之间的角度为 120 度。为此:绕水平轴旋转45度;然后绕纵轴旋转余弦 30 度。所以,没有这样的自定义角度。该应用程序正在通过非均匀比例变换模拟二次旋转。x 轴刻度保留初始 45 度旋转;但是,Y 轴被透视缩短了 50%。 基本上,尺度变换正在实现二次旋转变换(arcsin(cos(30 * (PI/180((((。

你所指的"幻数"是45度余弦的两倍。

相关内容

  • 没有找到相关文章

最新更新