public Point method_3(Plane plane1, Plane plane2) { double num = this.vector3d_2.Y * plane1.vector3d_2.Z - this.vector3d_2.Z * plane1.vector3d_2.Y; double num2 = this.vector3d_2.Z * plane1.vector3d_2.X - this.vector3d_2.X * plane1.vector3d_2.Z; double num3 = this.vector3d_2.X * plane1.vector3d_2.Y - this.vector3d_2.Y * plane1.vector3d_2.X; double num4 = plane1.vector3d_2.Y * plane2.vector3d_2.Z - plane1.vector3d_2.Z * plane2.vector3d_2.Y; double num5 = plane1.vector3d_2.Z * plane2.vector3d_2.X - plane1.vector3d_2.X * plane2.vector3d_2.Z; double num6 = plane1.vector3d_2.X * plane2.vector3d_2.Y - plane1.vector3d_2.Y * plane2.vector3d_2.X; double num7 = plane2.vector3d_2.Y * this.vector3d_2.Z - plane2.vector3d_2.Z * this.vector3d_2.Y; double num8 = plane2.vector3d_2.Z * this.vector3d_2.X - plane2.vector3d_2.X * this.vector3d_2.Z; double num9 = plane2.vector3d_2.X * this.vector3d_2.Y - plane2.vector3d_2.Y * this.vector3d_2.X; if (Vector3d.smethod_1(this.vector3d_2, new Vector3d(num4, num5, num6))) { return(null); } double num10 = this.vector3d_2.X * num4 + this.vector3d_2.Y * num5 + this.vector3d_2.Z * num6; if (Math.Abs(num10) < 4.94065645841247E-324) { return(null); } double num11 = 1.0 / num10; double num12 = this.d * num11; double num13 = plane1.d * num11; double num14 = plane2.d * num11; double x = num12 * num4 + num13 * num7 + num14 * num; double y = num12 * num5 + num13 * num8 + num14 * num2; double z = num12 * num6 + num13 * num9 + num14 * num3; return(new Point(x, y, z)); }
public bool IsOrthogonalTo(Vector3d a) { double num = a.x * a.x + a.y * a.y + a.z * a.z; if (num < 4.94065645841247E-324) { return(false); } double num2 = this.x * this.x + this.y * this.y + this.z * this.z; return(num2 >= 4.94065645841247E-324 && Vector3d.smethod_1(this, a)); }