用javascript计算网格的坐标
Working out co-ordinates of a grid in javascript?
如果我有一个由50个像素正方形组成的3 x 3的网格,水平编号为1-9,如下所示;
|1|2|3|
|4|5|6|
|7 | 8 | 9 |
如果我知道正方形的数量,比如正方形9,以及正方形的宽度,在这个例子中是50个像素,我如何根据从左上角开始的坐标系0,0,以编程的方式计算出正方形的坐标。
在这种情况下,正方形9将是x = 100
和y = 100
,
到目前为止,我已经尝试过了,但失败了,
x = (squareNumber * squareWidth)
y = (squareNumber * squareHeight)
一般公式为:
x = (squareNumber - 1) % numberOfSquaresPerRow * squareWidth
y = (squareNumber - 1) / numberOfSquaresPerCol * squareHeight
在你的情况下,由于它是一个3 x 3的网格,它将是:
x = (squareNumber - 1) % 3 * squareWidth
y = (squareNumber - 1) / 3 * squareHeight
在不使用整数除法的Javascript中,y
必须使用以下内容:
y = Math.floor((squareNumber - 1) / 3) * squareHeight
var width=50,height=50;
function gridPos(n){
var pos={};
pos.x=(n -1)%3*width;
pos.y=Math.floor((n-1)/3)*height;
return pos;
}
pos=gridPos(8);
console.log("pos is " + pos.x + " " + pos.y);
相关文章:
- 剑道网格jQuery动画()问题
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 我可以更改剑道UI网格吗's的外键值
- 如何在d3.js中返回路径的y坐标
- 基于网格的游戏中的负坐标
- Javascript/Canvas-查找相对于坐标网格位置的鼠标坐标
- 从网格视图行中获取坐标,以使用 Raphael.js 在画布上绘制
- 如何将像素坐标转换为等轴测网格坐标
- 如何从网格表面获取高程值(Z坐标),给出X和Y的三.js
- JS:显示一个无限长的坐标系统(网格)
- 放大网格坐标
- 如何使用HTML、CSS、Javascript和If Useful JQuery创建可点击分区的坐标网格
- 用javascript计算网格的坐标
- 画布和获取坐标基于网格(通过鼠标x鼠标y)
- 如何在网格中光线投射和获得三角形的质心坐标
- 如何从二维数组(JS)中获取网格的坐标
- 在extjs中用行/列坐标填充网格
- 如何合并网格,但保持坐标在three.js
- 检查x y网格坐标的阵列是否存在重复并删除