diff options
Diffstat (limited to 'geometry/triangle.cpp')
| -rw-r--r-- | geometry/triangle.cpp | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/geometry/triangle.cpp b/geometry/triangle.cpp deleted file mode 100644 index 33a8394..0000000 --- a/geometry/triangle.cpp +++ /dev/null @@ -1,43 +0,0 @@ -// Mittelpunkt des Dreiecks abc. -pt centroid(pt a, pt b, pt c) {return (a + b + c) / 3.0;} - -// Flächeninhalt eines Dreicks bei bekannten Eckpunkten. -double area(pt a, pt b, pt c) { - return abs(cross(b - a, c - a)) / 2.0; -} - -// Flächeninhalt eines Dreiecks bei bekannten Seitenlängen. -double area(double a, double b, double c) { - double s = (a + b + c) / 2.0; - return sqrt(s * (s-a) * (s-b) * (s-c)); -} - -// Zentrum des größten Kreises im Dreiecke -pt inCenter(pt a, pt b, pt c) { - double x = abs(a-b), y = abs(b-c), z = abs(a-c); - return (y*a + z*b + x*c) / (x+y+z); -} - -// Zentrum des Kreises durch alle Eckpunkte -// a, b und c nicht kollinear -pt circumCenter(pt a, pt b, pt c) { - b -= a, c -= a; - pt d = b * norm(c) - c * norm(b); - d = {-d.imag(), d.real()}; - return a + d / cross(b, c) / 2.0; -} - -// 1 => p außerhalb Kreis durch a,b,c -// 0 => p auf Kreis durch a,b,c -// -1 => p im Kreis durch a,b,c -int insideOutCenter(pt a, pt b, pt c, pt p) {// braucht lll - return sgn(imag((c-b)*conj(p-c)*(a-p)*conj(b-a))); -} - -// Sind die Dreiecke a1, b1, c1, and a2, b2, c2 ähnlich? -// Erste Zeile testet Ähnlichkeit mit gleicher Orientierung, -// zweite Zeile testet Ähnlichkeit mit verschiedener Orientierung -bool similar(pt a1, pt b1, pt c1, pt a2, pt b2, pt c2) { - return (b2-a2) * (c1-a1) == (b1-a1) * (c2-a2) || - (b2-a2) * conj(c1-a1) == conj(b1-a1) * (c2-a2); -} |
