获得旋转的顶部和左侧坐标
get rotated top and left coordinates
我想计算一个特定点(顶部和左侧)的旋转。这有点复杂。我知道原来的顶部和左侧。然后添加缩放,然后计算旋转。
现在我这样做。(原始左侧:-350,原始顶部:-10,f1_scale:0.544444,旋转角度:-30度)
function sin(x) {
return Math.sin(x / 180 * Math.PI);
}
function cos(x) {
return Math.cos(x / 180 * Math.PI);
}
function rotate(x, y, a) {
var x2 = cos(a) * x - sin(a) * y;
var y2 = sin(a) * x - cos(a) * y;
return [x2, y2];
}
var scaledLeft = -350 * f1_scale;
var scaledTop = -10 * f1_scale;
var rotateOut = rotate(scaledLeft, scaledTop,-30);
这适用于左(x)坐标,但y坐标太远了
有人能看到我做错了什么吗?或者有人已经试过了吗?
谢谢。
你需要理解它背后的数学http://prntscr.com/amd2it其中:
(x0, y0)
为起点坐标(x1, y1)
是旋转后的坐标(p, q)
是旋转点的坐标
为了找到(x1, y1)
,你需要知道(p, q)
的值,以及(x0,y0)和角度a。如果我们应用初等几何,我们得到:
sin(a)( q - y0 ) = q - y1
y1 = q - sin(a)( q - y0 )
和
cos(a)( p - x0 ) = p - x1
x1 = p - cos(a)( p - x0 )
或者你可以用毕达哥拉斯定理求第二个值。
当我们理解这一点时,我认为将其翻译成代码不会有问题。
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 如何在d3.js中返回路径的y坐标
- 在谷歌地图上获取事件的x,y坐标
- jQuery粘性插件可变顶部间距
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 使用jQuery更改元素的顶部位置
- 背景图像顶部的滚动图像不移动
- 滚动然后捕捉到顶部而不是取消捕捉
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 如何在JS Leatflet绘图插件中获取圆的坐标
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- 查找带有边框的HTML5 Canvas(点击)事件的坐标
- HTML5获取弧的坐标's结束
- 如何在OpenLayers中获取动态绘制的多边形的坐标
- 如何在离子框架+有角度的框架中制作顶部标签
- 计算“;“左”;以及“;顶部“;来自固定位置浮动元素的值
- 获得旋转的顶部和左侧坐标
- css3旋转顶部和左侧坐标
- Jquery检测滚动后页面顶部的坐标