用极坐标绘制正方形

Joe*_*oel 6 javascript math graphing trigonometry

我有一个正方形,最近的点距离中心1个单位.请参阅下面的ascii图:

+-----------+
|           |
|  x        |
|-----+     |
|           |
|           |
+-----------+
Run Code Online (Sandbox Code Playgroud)

因此,从原点到角落的距离是sqrt(2).我需要一个函数,以任何角度返回从原点到正方形上的点的距离.例如,对于0的输入,函数将返回1.对于45的输入,函数将返回到角的距离,2的平方根.然后对于90,它将再次返回1.

换句话说,当您使用极坐标图绘制函数时,它将绘制一个正方形.

我相信这个函数会是这样的:

f(x) = sqrt(tan(x)^2+1)
Run Code Online (Sandbox Code Playgroud)

唯一的问题是上面的函数不会绘制正方形的边.我需要能够吸引所有四方面的东西.

我知道有一个类似于此的东西的三角函数,但我将在javascript中使用这个函数,所以我只能使用标准的三角函数.

任何帮助将不胜感激.提前致谢.

Man*_*acs 9

我想这会更快:

function getLengthForDeg(phi){
    phi = ((phi+45)%90-45)/180*Math.PI;
    return 1/Math.cos(phi);
}
Run Code Online (Sandbox Code Playgroud)