Javascript:从 X、Y 坐标获取方向的公式
我正在制作一个实用程序来快速创建 CSS 阴影,并意识到这只能在 IE 中使用 IE 过滤器。但是,影子过滤器使用方向而不是 (x, y) 坐标:
filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000');"
如何从 (x, y) 坐标计算方向?
编辑:使用此中给出的回复和更多详细信息链接:我修改了我的代码如下:
function(x, y){
var d = Math.atan2(x, y) * (180 / Math.PI);
if(d < 0){ d = 180 - d; }
return d;
}
如果您传入水平偏移和垂直偏移,分别用作X,Y,您将获得从0到359的度数。
I was making a utility to quickly create CSS drop shadows, and realized that this can only be done in IE with IE filters. However, the Shadow Filter uses Direction instead of (x, y) coordinates:
filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000');"
How can Direction be calculated from (x, y) coordinates?
Edit: Using the responses given and more details from this link: I modified my code as follows:
function(x, y){
var d = Math.atan2(x, y) * (180 / Math.PI);
if(d < 0){ d = 180 - d; }
return d;
}
If you pass in Horizontal Offset and Vertical Offset that you would use as X, Y respectively, you will get a degree from 0 to 359.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
方向以度为单位。
因此,
如果您的计算器以弧度工作(任何理智的计算器都应该如此),您可以使用
where pi = 3.14159... 或 Math.PI
将度数转换为弧度。要走另一种方式,请使用 'atan'
在 Javascript 中,您有一个
Math.atan2
函数,以 y 和 x 作为参数。弧度换算为度:
所以结果是:
Direction is in degrees.
So
If your calculator works in radians (as any sane calulator should), you can convert degrees to radians with
where pi = 3.14159... or Math.PI
To go the other way, use 'atan'
In Javascript you have a
Math.atan2
function which takes y and x as parameters.radians to degrees is:
so the result is: