以椭圆形绘制矩形

时间:2019-12-23 11:18:35

标签: javascript math trigonometry photoshop

在有人建议将此内容移至stack maths之前,请先听我讲。我想让某人仔细检查我的老化触发计算,以使用JavaScript在Photoshop中绘制一个椭圆形的矩形。

我有一个圆圈,想知道W和H的长度。

circle

这很简单:

  

W = 2(cosθ/ r)

     

H = 2(正弦θ/ r)

r是圆的半径。

我需要知道的是椭圆形的W和H的长度。

oval

以下是一些注意事项:

    在两种情况下,
  • H都是相同的值。但是θ显然发生了变化。
  • 椭圆形的宽度可以认为是2r的x倍。
  • 和弦W和H分别始终是水平和垂直的。
  • 可以将椭圆形视为一个较宽的版本圆,而不是一个椭圆形。

W将会是

  

W = 2x(cosθ/ r)?

我不需要它非常精确(小数点后一位),因为最终我将在椭圆形内绘制一个矩形,并且不会注意到1个像素的差异。

1 个答案:

答案 0 :(得分:1)

首先,将以r和theta表示的圆形和椭圆形的公式定义为

圆圈:

Circle Formulae

椭圆形:

Oval Formulae 给定a和b分别为水平和垂直尺寸的比例。

并考虑以下三角形,假设该三角形位于圆/椭圆内

Triangle

对于圆,随着θ的变化,半径(r)不变,因为它是常数,而Δr将为0,因此Δx和Δy也将产生0。下面

Derivative,其中a = b = 1表示圆圈

因此,新三角形的宽度和高度将变为:

New size

宽度(W)和高度(H)可以通过将 x +Δx y +Δy加倍来获得