- 227 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 07:07:19 ]
- double area(Triangle t) {
return fabs((t.p2.x - t.p1.x) * (t.p3.y - t.p1.x) - (t.p2.y - t.p1.x) * (t.p3.x - t.p1.x)); } Triangle linear(Triangle t, double a[2][2]) { Triangle ret; ret.p1.x = a[0][0] * t.p1.x + a[0][1] * t.p1.y; ret.p1.y = a[1][0] * t.p1.x + a[1][1] * t.p1.y; ret.p2.x = a[0][0] * t.p2.x + a[0][1] * t.p2.y; ret.p2.y = a[1][0] * t.p2.x + a[1][1] * t.p2.y; ret.p3.x = a[0][0] * t.p3.x + a[0][1] * t.p3.y; ret.p3.y = a[1][0] * t.p3.x + a[1][1] * t.p3.y; return ret; } int isCongruence(Triangle t1, Triangle t2) { double l1[3], l2[3]; int i, j; l1[0] = (t1.p1.x - t1.p2.x) * (t1.p1.x - t1.p2.x) - (t1.p1.y - t1.p2.y) * (t1.p1.y - t1.p2.y); l1[1] = (t1.p2.x - t1.p3.x) * (t1.p2.x - t1.p3.x) - (t1.p2.y - t1.p3.y) * (t1.p2.y - t1.p3.y); l1[2] = (t1.p3.x - t1.p1.x) * (t1.p3.x - t1.p1.x) - (t1.p3.y - t1.p1.y) * (t1.p3.y - t1.p1.y); l2[0] = (t2.p1.x - t2.p2.x) * (t2.p1.x - t2.p2.x) - (t2.p1.y - t2.p2.y) * (t2.p1.y - t2.p2.y); l2[1] = (t2.p2.x - t2.p3.x) * (t2.p2.x - t2.p3.x) - (t2.p2.y - t2.p3.y) * (t2.p2.y - t2.p3.y); l2[2] = (t2.p3.x - t2.p1.x) * (t2.p3.x - t2.p1.x) - (t2.p3.y - t2.p1.y) * (t2.p3.y - t2.p1.y); for(i = 0; i < 3; i++) { for(j = 0; j < 3; j++) if(l1[i] == l2[j]) { l2[j] = 0; break;} if(j == 3) return 0;} return 1; }
|

|