我有一个正方形,最近的点距离中心1个单位.请参阅下面的ascii图表:
+-----------+ | | | x | |-----+ | | | | | +-----------+
因此,从原点到角落的距离是sqrt(2).我需要一个函数,以任何角度返回从原点到正方形上的点的距离.例如,对于0的输入,函数将返回1.对于45的输入,函数将返回到角的距离,2的平方根.然后对于90,它将再次返回1.
换句话说,当您使用极坐标图绘制函数时,它将绘制一个正方形.
我相信这个函数会是这样的:
f(x) = sqrt(tan(x)^2+1)
唯一的问题是上面的函数不会绘制正方形的边.我需要能够吸引所有四方面的东西.
我知道有一个类似于此的东西的三角函数,但我将在javascript中使用这个函数,所以我只能使用标准的三角函数.
任何帮助将不胜感激.提前致谢.
解决方法
我想这会更快:
function getLengthForDeg(phi){ phi = ((phi+45)%90-45)/180*Math.PI; return 1/Math.cos(phi); }