0
我有一個matrix
這樣的:的Javascript:計算矩形的角度,4個邊角點
var matrix = [
"00000000000000000000000",
"00000000001100000000000",
"00000000111110000000000",
"00000001111111000000000",
"00000111111111100000000",
"00000111111111000000000",
"00000011111100000000000",
"00000001110000000000000",
"00000000100000000000000",
"00000000000000000000000"
]
... ...我知道這個數字的4個角點(X/Y座標)(矩形的「1'-字符)如..
- [11,1]
- [5,4]
- [14,4]
- [8,8]
有一種簡單的方法來計算矩形的旋轉角度像我這個形象已經象徵?
因爲我不知道如何繼續我不能爲你提供更多的代碼比這
編輯:上面的函數獲取MINY和maxX的值從4點。之後功能是計算兩點之間的距離。但是現在如何計算角度?
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)
我希望有人能幫助我與我的代碼...
非常感謝提前,喬納斯
聽起來合法的,但我不明白爲什麼我要使用最高/最低矩形底座頂點。這不會是真正的寬度/高度,我認爲這樣..但也不知道如何得到矩形基地頂點...... :( – Jonas0000
你是對的,實際上,「矩形高度」,應該是「矩形對面的腿相關到矩形底座「,」矩形寬度「應該是」與底座相關的矩形相鄰腿「 –
Hey @ Jonas0000,我用一些代碼更新了答案,我希望這可以幫到你。 –