In der Mathematik und Physik ist der Flächenschwerpunkt einer ebenen Fläche A als die arithmetisch gemittelte Position aller Punkte innerhalb der Fläche definiert.
Für 2-dimensionale Standardobjekte, wie z.B. Dreiecke, Parallelogramme, Viertel-/Halbkreise, Ellipsen, etc. sind die Koordinaten ihrer Schwerpunkte bekannt [1], [2].
Ist das Objekt jedoch durch zwei Funktionen f und g begrenzt (s. Abbildung rechts), ist die Bestimmung des Schwerpunktes aufwendiger:
Der Flächenschwerpunkt C (xc | yc) eines Bereichs, der durch die stetigen Funktionen f und g innerhalb des Intervalls [a, b] begrenzt wird, wobei f (x) ≥ g (x) oder g (x) ≥ f (x) mit a ≤ x ≤ b gilt, ergibt sich zu:
Hierbei ist A die Fläche des Bereichs und somit
(vgl. Fläche zwischen Funktionen).
Aus den obigen Bedingungen folgt, dass sich f und g im Intervall [a, b] nicht schneiden dürfen.
Die Graphing Calculator 3D-Datei Centroid.gc3 berechnet und plottet die Funktionen f und g, den Bereich zwischen f und g innerhalb der Intervallgrenzen und den Flächenschwerpunkt C. Außerdem erfolgt eine Warnung, falls sich f ung g im Intervall [a, b] schneiden:
Programmier-Details:
- Für die Differenzfunktion h (x) = f (x) – g(x) werden das Minimum ymin und das Maximum ymax in [a, b] bestimmt. Hierzu wird das Intervall in N Teile (z.B. N = 5000) geteilt und mittels einer Rekursion Minimum und Maximum bestimmt:
- Durch einen Vorzeichenvergleich von ymin und ymax liefert eine Funktion intsec_flag entweder den Wert 1 im Falle, dass sich f und g schneiden oder den Wert 0, falls dies nicht der Fall ist, gemäß folgender Bedingungen:
Mit anderen Worten: f und g schneiden sich nicht, falls die Vorzeichen von ymin und ymax gleich sind oder eines davon 0 ist; dies wird folgendermaßen implementiert:
Hinweis:
Anstelle der in GC3D verfügbaren Stadardfunktion sign wird hier eine modifizierte Funktion signum verwendet; dies ist notwendig, da die Funktion sign auf Grund von Rundungsfehlern bei der Berechnung von ymin bzw. ymax den Wert -1 oder 1 liefern kann, obwohl der korrekte Wert 0 ist.
- Falls die Variable intsec_flag den Wert 1 hat, wird der Zeichenbereich rot eingefärbt um davor zu warnen, dass der angezeigte Schwerpunkt C nicht definiert ist:
Im folgenden Beispiel ist der Wert für b zu hoch eingestellt, so dass sich f und g in [a, b] schneiden.
Als Alternative oder Ergänzung kann in diesem Fall die Anzeige von C unterdrückt werden:
Hinweis:
Die zusätzlichen Zeilen xcross1(x)=… und ycross1(x)=… sind erforderlich, da GC3D "nur" zwei durch AND verknüpfte Ausdrücke verarbeiten kann, jedoch drei benötigt werden.
Beispiel 1
Es soll der Schwerpunkt der Fläche bestimmt werden, die im Intervall [0, 2π ] durch die Funktionen f und g begrenzt wird mit
f (x) = [sin (x)] ² + 2.5
g (x) = - [sin (x)] ² + 2.5
Man beachte, dass sich f und g im Punkt (π | 2.5) nicht schneiden, sondern nur berühren. Dort befindet sich auch der Schwerpunkt.
Beispiel 2
Im Intervall [0, 2π ] soll der Schwerpunkt der Fläche berechnet werden, die durch f und g begrenzt wird mit
f (x) = sin (x) + 2.5
g (x) = - sin (x) + 2.5
Da sich f und g im Punkt (π | 2.5) schneiden, wird ein Warnhinweis angezeigt.
Beispiel 3
Bestimme den Schwerpukt für einen Viertelkreis mit dem Radius 1, der durch die Funktion
im Intervall [0, 1] erzeugt wird.
Die Funktion g ist die x-Achse, also g (x) = 0.
Die exakten Koordinaten des Schwerpunkts sind
Mit n = 1000 berechnet GC3D die Koordinaten nur mit einem absoluten Fehler von ungefähr 10-6. Dies liegt daran, dass im Punkt (1 | 0) die Steigung - ∞ ist (vgl. Beispiel 3 bei Numerische Integration).
Beispiel 4
Bestimme die Koordinaten des Schwerpunkts der Fläche zwischen der Funktion f (x) = 5 ln (x) und der x-Achse im Intervall [1, e].
Verglichen mit der exakten Lösung
berechnet Graphing Calculator 3Ddie Lösung bereits ab n = 20 mit einem absoluten Fehler kleiner als 10-6.