나는이 (& I hope you can get the rectangle of ones
) 등의 1과 0의 행렬을 가지고 :계산 사각형의 각도 (X/Y) 개요 위치를 알고
을 그리고 calculate the rectangles rotation angle
싶습니다. 나는 지금 (위 그림) ' '
(공백 상징) 사각형 윤곽의 위치 (x/y-coordinates)
모두이 같은 배열을 가지고 :
var outline_positions = [[120,22],[122,22],...,[94,119],[93,119]]
내가 함께 시작 해요 그래서
이제 내 질문 : 각도
0°
의 직사각형의 긴면이 X-asis와 평행하다는 것을 알고 X 축에 대한 직사각형 회전 각도를 계산하는 것이 어떻게 가능합니까?
내가 가지고 있기 때문에 지금은 방법이 코드를 시작하는 아이디어는 내가 지금까지 가지고 모든입니다 다음과 같이
var positions = [[120,22],[122,22],[120,22],[121,22],[122,22],[119,23],[125,23],[119,24],[127,24],[118,25],[129,25],[118,26],[131,26],[117,27],[132,27],[117,28],[134,28],[117,29],[137,29],[116,30],[139,30],[115,31],[141,31],[115,32],[142,32],[114,33],[142,33],[113,34],[142,34],[113,35],[142,35],[112,36],[141,36],[111,37],[140,37],[111,38],[140,38],[110,39],[139,39],[109,40],[139,40],[109,41],[138,41],[108,42],[138,42],[108,43],[137,43],[106,44],[137,44],[106,45],[136,45],[105,46],[136,46],[105,47],[135,47],[104,48],[135,48],[103,49],[134,49],[103,50],[134,50],[103,51],[133,51],[102,52],[132,52],[101,53],[132,53],[100,54],[131,54],[100,55],[131,55],[99,56],[130,56],[98,57],[129,57],[97,58],[128,58],[97,59],[128,59],[96,60],[127,60],[95,61],[127,61],[95,62],[126,62],[94,63],[126,63],[94,64],[125,64],[93,65],[124,65],[92,66],[124,66],[92,67],[124,67],[91,68],[123,68],[91,69],[122,69],[90,70],[121,70],[89,71],[121,71],[89,72],[120,72],[88,73],[120,73],[87,74],[119,74],[87,75],[118,75],[86,76],[118,76],[86,77],[116,77],[85,78],[116,78],[85,79],[116,79],[83,80],[115,80],[83,81],[115,81],[82,82],[115,82],[81,83],[114,83],[81,84],[113,84],[80,85],[113,85],[80,86],[112,86],[79,87],[112,87],[78,88],[112,88],[78,89],[111,89],[78,90],[110,90],[77,91],[110,91],[76,92],[109,92],[76,93],[109,93],[75,94],[108,94],[74,95],[107,95],[74,96],[107,96],[73,97],[106,97],[73,98],[105,98],[72,99],[105,99],[72,100],[104,100],[71,101],[104,101],[70,102],[103,102],[70,103],[103,103],[69,104],[102,104],[70,105],[102,105],[72,106],[101,106],[73,107],[101,107],[75,108],[100,108],[76,109],[100,109],[77,110],[99,110],[80,111],[98,111],[81,112],[98,112],[83,113],[97,113],[84,114],[96,114],[86,115],[96,115],[88,116],[96,116],[90,117],[95,117],[91,118],[94,118],[93,119],[94,119],[94,119],[93,119]]
Array.prototype.calculate_rotation = function() {
var array=this
var max_x = array.filter(e => e[0] === Math.max(... array.map(e => e[0])))[0];
var min_x = array.filter(e => e[0] === Math.min(... array.map(e => e[0])))[0]
return max_x[1]-min_x[1]
}
console.log(positions.calculate_rotation());
안녕하세요 제 예제 코드를 보면 var max_x = array.filter (e => e [0] === Math.max (... array.map (e => e [0])) [0];var min_y = array.filter (e => e [1] === Math.min (... array.map (e => e [1]))) [0]' 직업도. 그러나이 방법을 사용하면 특정 각도에서 더 이상 작동하지 않습니다! – Jonas0000
편집 전에 x & y - min 메서드가 특정 각도에서 작동하지 않습니다. – Jonas0000
@ Jonas0000 사각형이 이미 축에 평행 인 경우에도 작동해야하는 메서드를 업데이트했습니다. 예를 들어, 최소 x 좌표와 함께 포인트를 찾는 것이고, 더 많은 것이 발생하면 최소 "y"좌표, 즉 "코너" – ewcz