protected bool Equals(MyLine other) { //SBAGLIATO!!! return(Equals(plane1, other.plane1) && Equals(plane2, other.plane2)); #region PROVA non completata //double x; //double y; //double z; //if (FunctionsLC.MyEqualsToZero(plane1.a)) //{ // if (FunctionsLC.MyEqualsToZero(plane1.b)) // { // z = -plane1.d / plane1.c; // if (FunctionsLC.MyEqualsToZero(plane2.a)) // { // y = (-plane2.d - plane2.c * z)/plane2.b; // } // else // { // if (FunctionsLC.MyEqualsToZero(plane2.b)) // { // x = (-plane2.d - plane2.c * z) / plane2.a; // } // else // { // //I give an arbitrary value to x: // x = 0; // y = (-plane2.d - plane2.c * z) / plane2.b; // } // } // } // else // { // if (FunctionsLC.MyEqualsToZero(plane1.c)) // { // y = -plane1.d / plane1.b; // } // } //} //else //{ // if (FunctionsLC.MyEqualsToZero(plane1.b)) // { // if (FunctionsLC.MyEqualsToZero(plane1.c)) // { // x = -plane1.d / plane1.a; // } // } //} #endregion }
//Applicato ad un vertice, dice se il vertice sta sulla retta data in input public bool Lieonline(MyLine GivenLine) { return(this.Lieonplane(GivenLine.plane1) && this.Lieonplane(GivenLine.plane2)); }