从方程中绘制SVG椭圆

时间:2018-01-05 15:05:26

标签: javascript math d3.js svg

我有一个椭圆方程2x² + (1)y² = 100,它对应于一般形式方程ax² + by² = r

我想在SVG中将这个椭圆可视化,其中每个高度单位由一个像素表示。

SVG以这种方式绘制椭圆:

<ellipse rx=200 ry=100 cx="0" cy="200" fill="silver" stroke="gray"/>

其中rxry分别代表“x radius”和“y radius”。

但是,rxry值与等式中的判别式21不对应。将21插入rxry不会使椭圆与公式的比例相同。

如何将等式表示的椭圆绘制为SVG?

1 个答案:

答案 0 :(得分:0)

采用等式,

2x² + 1y² = 100

并将21替换为变量dXdY,将100替换为r(半径),我们得到:

dx * x² + dy * y² = r

在这种情况下,椭圆绘制为:

<ellipse rx=${Math.sqrt( r / dX )} ry=${Math.sqrt( r / dY )} cx="0" cy="200"/>