【发布时间】:2017-11-18 12:07:37
【问题描述】:
我有一个这样的matrix:
var matrix = [
"00000000000000000000000",
"00000000001100000000000",
"00000000111110000000000",
"00000001111111000000000",
"00000111111111100000000",
"00000111111111000000000",
"00000011111100000000000",
"00000001110000000000000",
"00000000100000000000000",
"00000000000000000000000"
]
...我知道图形的 4 个角点(x/y 坐标)(“1”字符的矩形),例如...
- [11,1]
- [5,4]
- [14,4]
- [8,8]
有没有一种简单的方法来计算我在这张图片中符号化的矩形的旋转角度?
因为我不知道如何继续,所以我无法为您提供更多代码:
编辑:上面的函数从 4 个点中获取 minY 和 maxX 值。之后函数计算两点之间的距离。但是现在如何计算角度呢?
function calculate_angle(corner_object) {
Array.prototype.calculate_distance = function() {
var x1=this[0],y1=this[1],x2=this[2],y2=this[3]
return Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)).toFixed(2);
}
var list = [my_object.corner1,my_object.corner2,my_object.corner3,my_object.corner4]
var extreme_result = {
'xMax': list.filter(e => e[0] === Math.max(...list.map(e => e[0]))),
'yMin': list.filter(e => e[1] === Math.min(...list.map(e => e[1])))
}
var distance = [extreme_result.xMax[0][0],extreme_result.xMax[0][1],extreme_result.yMin[0][0],extreme_result.yMin[0][1]].calculate_distance()
// distance between two points is "distance"
console.log(distance)
}
var my_object = {
"corner1":[5,4],
"corner2":[11,1],
"corner3":[14,4],
"corner4":[8,8]
}
calculate_angle(my_object)
我希望有人可以帮助我编写代码...
非常感谢,乔纳斯
【问题讨论】:
标签: javascript jquery arrays object matrix