public sg_plane(sg_Vector3 pt1, sg_Vector3 pt2, sg_Vector3 pt3) { sg_Vector3 v = sg_Vector3.getNormal(pt1, pt2, pt3); _v = new sg_Vector3(v); double dip = v.getDip(); double aaa = v.getAngle(); certenPt = new sg_Vector3((pt1.x + pt3.x) / 2.0, (pt1.y + pt3.y) / 2.0, (pt1.z + pt3.z) / 2.0); Width = sg_math.getDist(pt1, pt2); Height = sg_math.getDist(pt2, pt3); }
// public sg_Transformation(sg_Vector3 v0, sg_Vector3 v1, sg_Vector3 v2) // { // sg_Vector3 W1 = v1 - v0; // sg_Vector3 W3 = W1.crossMul(v2 - v0); // sg_Vector3 W2 = W3.crossMul(W1); // // W1.Normalize(); // W2.Normalize(); // W3.Normalize(); // // _r[0,0] = W1.x; _r[0,1] = W2.x; _r[0,2] = W3.x; // _r[1,0] = W1.y; _r[1,1] = W2.y; _r[1,2] = W3.y; // _r[2,0] = W1.z; _r[2,1] = W2.z; _r[2,2] = W3.z; // // _t[0] = v0.x; _t[1] = v0.y; _t[2] = v0.z; // // } // public sg_Transformation(sg_Vector3 n, sg_Vector3 cenPt) { sg_Vector3 newZ = new sg_Vector3(n); sg_Vector3 newX = new sg_Vector3(90, n.getDip() - 90); sg_Vector3 newY = newZ.crossMul(newX); newX.Normalize(); newY.Normalize(); newZ.Normalize(); _r[0, 0] = newX.x; _r[0, 1] = newY.x; _r[0, 2] = newZ.x; _r[1, 0] = newX.y; _r[1, 1] = newY.y; _r[1, 2] = newZ.y; _r[2, 0] = newX.z; _r[2, 1] = newY.z; _r[2, 2] = newZ.z; _t[0] = cenPt.x; _t[1] = cenPt.y; _t[2] = cenPt.z; }