세 점의 좌표가 주어졌을 때 어떻게 빠르게 삼각형의 너비를 계산할 수 있을까?
세 점 A(x1,y1),B(x2,y2),C(x3,y3)가 주어졌다고 가정할 때 다음과 같은 수식을 세울 수 있다.
신발끈 공식을 생각해보면 쉽게 풀린다
21x1y1x2y2x3y3x1y1=21∣(x1⋅y2+x2⋅y3+x3⋅y1)−(x2⋅y1+x3⋅y2+x1⋅y3)∣
1ll triangle(Point &p1, Point &p2, Point &p3) {
2 ll res = abs(p1.x*p2.y + p2.x*p3.y + p3.x*p1.y - p2.x*p1.y - p3.x*p2.y - p1.x*p3.y);
3// if(res % 2 == 0) return (ld)((ll)(res/2));
4// return (ld)((ll)(res/2) + 0.5);
5 return res;
6}
https://m.blog.naver.com/eandimath/221760895905