public bool compere(Verge a1, Verge a2) { if (a1.a.x == a2.a.x || a1.a.x == a2.a.y || a1.a.x == a2.a.z) { if (a1.a.y == a2.a.x || a1.a.y == a2.a.y || a1.a.y == a2.a.z || a1.a.z == a2.a.x || a1.a.z == a2.a.y || a1.a.z == a2.a.z) { return(true); } } if (a1.a.y == a2.a.x || a1.a.y == a2.a.y || a1.a.y == a2.a.z) { if (a1.a.x == a2.a.x || a1.a.x == a2.a.y || a1.a.x == a2.a.z || a1.a.z == a2.a.x || a1.a.z == a2.a.y || a1.a.z == a2.a.z) { return(true); } } if (a1.a.z == a2.a.x || a1.a.z == a2.a.y || a1.a.z == a2.a.z) { if (a1.a.x == a2.a.x || a1.a.x == a2.a.y || a1.a.x == a2.a.z || a1.a.y == a2.a.x || a1.a.y == a2.a.y || a1.a.y == a2.a.z) { return(true); } } return(false); }
public static Verge createVerge(Point a, Point b, Point c, Point x) { Point vector = Normal(a, b, c); Verge v = new Verge(); if (!isHighter(vector, a, x)) { v.a = a; v.b = b; v.c = c; v.norm = vector; return(v); } else { v.a = a; v.b = b; v.c = c; vector.x = -vector.x; vector.y = -vector.y; vector.z = -vector.z; v.norm = vector; return(v); } }
public static void addtoHorizont(ref List <Point> horizont, Verge verge) { bool isNorm = true; for (int i = 0; i < horizont.Count; i++) { if (horizont[i] == verge.a) { isNorm = false; break; } } if (isNorm) { horizont.Add(verge.a); } isNorm = true; for (int i = 0; i < horizont.Count; i++) { if (horizont[i] == verge.b) { isNorm = false; break; } } if (isNorm) { horizont.Add(verge.b); } isNorm = true; for (int i = 0; i < horizont.Count; i++) { if (horizont[i] == verge.c) { isNorm = false; break; } } if (isNorm) { horizont.Add(verge.c); } }