0 Daumen
849 Aufrufe

ich habe folgendes gegeben:
Eine Punktmenge im dreidimensionalen Raum, welche bereits von mir regulär trianguliert wurde. Daraufhin wurde für jeden Punkt die Menge der direkten Nachbarknoten ermittelt.

Die Aufgabe besteht nun darin, ein Skalarfeld zu bilden, indem ich für jeden Punkt der Punktmenge dessen Krümmung als Skalarwert abspeichere.

Hierfür habe ich drei Ansätze für die Wahl der zwei Nachbarknoten

1) Wähle den höhenmäßig niedrigsten Nachbarknoten und den höhenmäßig höchsten Nachbarknoten

2) Wähle den höhenmäßig niedrigsten Nachbarknoten und den lagemäßig am weitesten entfernten Nachbarknoten

3) Wähle den höhenmäßig höchstenNachbarknoten und den lagemäßig am weitesten entfernten Nachbarknoten

Daraufhin habe ich zunächste den Winkel zwischen dem Vektor des ersten Nachbarknotens und des betrachteten Punktes und dem Vektor des zweiten Nachbarknotens und des betrachteten Punktes berechnet. Dies führte allerdings zu ggf. kuriosen Ergebnissen, da nicht nur der direkte "gerade" Winkel berechnet wurde, sondern auch in "Schräglage", falls die Punkte nicht auf einer Linie lagen. Daher habe ich daraufhin die "Höhendifferenz" der Punkte als Skalarwert verwendet:

Höhe des ersten Nachbarknotens - Höhe des betrachteten Punktes + Höhe des zweiten Nachbarknotens - Höhe des betrachteten Punktes.

Ist diese Höhendifferenz positiv, besteht eine positie Krümmung, ist sie negativ, eine negative Krümmung.

Falls jmd. eine Idee hat, wie genau ich die Krümmung über eine Punktemenge mit adjazenten Ringen (Nachbarschaftsknoten) ermitteln kann, wäre ich sehr dankbar

Avatar von

Hallo

 wie ist denn die "Krümmung" eines Punktes definiert?

du ziehst von der Summe der Höhen der 2 benachbarten Punkte 2 mal die Höhe des Punktes ab?  unabhängig von der waagerechten Entfernung? Das kommt mir eigenartig vor ? Die "Krümmung" des Punktes B und E in den 2 Graphen ist in deiner Definition gleich?Bildschirmfoto 2019-11-21 um 00.31.45.png

Gruß lul

vielen Dank für deinen Kommentar schonmal.

Du hast es exakt so beschrieben wie ich es aktuell noch mache, ja. Dass ich die waagerechte Entfernung nicht mit einbeziehe kommt mir ebenso komisch vor. Hättest du eine Idee wie ich den Algorithmus korrigieren kann? Gegeben ist also ein "Mittelpunkt" (bei deinem Beispiel B und E) und eine Menge dreidimensionaler Punkte, welche die Nachbarknoten des Mittelpunktes darstellen.

Gruß

Hallo

du hast ja nicht gesagt wie die Krümmung definiert sein soll. Wenn du sie angeben willst oder sollst muss das ja gegeben sein.

bei einer glatten Kurve wird sie durch die Änderung der Steigung beschrieiben, das wäre dann entsprechend diskret die Differenz der Steigungen zu den Nachbarpunkten

Gruß lul

Hallo @lul,

dass ich für die Krümmung die Differenz der zwei Gradienten/Steigungen nehme ist mir jetzt klar. Vielen Dank. Bleibt die Frage welche zwei Nachbarknoten ich für diese Berechnung auswähle? Bemerke, die Punkte befinden sich im dreidimensionalen Raum und liegen somit ringsherum um den betrachteten "Mittelpunkt".

Hallo

 du sagst doch du hast trianguliert, das kann ich mir nicht gut vorstellen, aber ergeben sich dadurch nicht 4 natürliche Nachbaren , dann müsste man wohl die "Krümmung " zu je 2 nicht benachbarten bestimmen, und die dann mitteln?

Aber gibt es denn keine Definition? wenn nicht was soll deine Krümmung bewirken, welche Eigenschaft soll sie zeigen?

lul

Die punktemenge ist trianguliert, ja. Allerdings gibt es nicht immer 4 Nachbarn. Minimum sind 2 und nach oben hin ist es offen. Aber es ist eine gute Idee die Krümmung zu allen nicht direkt "benachbarten Nachbarn" über den Mittelpunkt zu bestimmen und aus all diesen dann den Mittelwert zu bestimmen um den 'Krümmungsgrad' in dem Mittelpunkt rauszubekommen.

Unbenannt.png

Die Aufgabe besteht darin, die Krümmung bzw. den Grad der Krümmung in dem roten Punkt zu bestimmen (mittels der Nachbarknoten, den blauen Punkten)

Wie muss man sich die Anordnung der Punkte vorstellen? Könnte das ein Netz mit rechteckigen Maschen sei, wobei jeder Knoten im Netz einer der Punkte ist?

Wenn die Punkte vermessen sind, so enthalten sie auch Messfehler. Gibt es eine 'ideale Form' die die Oberfläche auf denen sich die Punkte befinden haben müsste? Also Kugel, Paraboloid, Torus, Hyperboloid u.a. ?

Nach Deiner Beschreibung ist die 'Oberfläche' in zwei Richtungen gekrümmt. Du wirst also mit einer 'Krümmung' nicht hinkommen! Welche Krümmung willst Du also genau bestimmen? Die maximale oder minimale oder die in Richtung einer 'Punktlinie'?

Wo kommen die Punkte her und wozu benötigst Du die Krümmung?

Ah - jetzt weiß ich, was Du mit 'triangulierter Punktmenge' meinst. Ich hatte was anderes darunter verstanden. Dann hat sich die Frage mit dem Netz (s.o.) schon geklärt!

Es existiert nur eine "willkürrliche" Ebene aus dreidimensionalen Punkten. Nun soll ich den Krümmungsgrad in jedem Punkt bestimmen unter Verwendung der direkten Nachbarn. Für "Welche Krümmung willst du bestimmen" ist die Antwort: Einen Krümmungsgrad. Damit ist gemeint, dass ein Punkt, dessen Nachbarn allesamt auf der selben Höhe liegen einen Krümmungsgrad von 0 aufweisen soll. Ich denke hierfür kann man die Krümmung (aka Gradientendifferenz) aller nicht direkt nebeneinander liegenden Nachbarpunkte über den Mittelpunkt bestimmen und daraus den Mittelwert ziehen. Macht das so Sinn?

Macht das so Sinn?

Jein - kommt drauf an, wozu Du das brauchst! mal angenommen da sind 4 Nachbarpunkte. Und in der einen Rchctung liegen zwei gegenüberliegende Punkte ein Delta 'tiefer' und in der anderen ein Delta 'höher'. Dann ist Deine 'Gesamtkrümmung' natürlich =0.

Ich würde eher über die Normalenvektoren der benachbarten Flächen (Dreiecke) gehen. Wobei ein größeres Dreieck (Fläche) auch mehr zählt als ein kleineres. Vielleicht kann man dann eine Quadrik optimal rein legen, dass sie mit diesen Normalenvektoren bestmöglich matcht. Dann hast Du Krümmung in jeder Richtung.

Aber es kommt wohl darauf an, was Du mit der Krümmung vor hast.

Mal angenommen da sind 4 Nachbarpunkte. Und in der einen Rchctung liegen zwei gegenüberliegende Punkte ein Delta 'tiefer' und in der anderen ein Delta 'höher'. Dann ist Deine 'Gesamtkrümmung' natürlich =0.

Damit hast du natürlich Recht.
Der zweite Ansatz mit den Normalenvektoren der benachbarten Flächen in Abhängigkeit zum jeweiligen Flächeninhalt klingt interessant. Hier mal ein Bild von deiner Beschreibung, wobei dem Punkt in der Mitte ein Skalar zugewiesen werden soll. Man würde also für jede Dreiecksfläche den Normalenvektor bestimmen. Und dann?Anmerkung 2019-11-21 160953.png

Aber es kommt wohl darauf an, was Du mit der Krümmung vor hast.

Im Endeffekt mögliche ich ein Skalarfeld bilden, welches jedem Punkt aus der Punktmenge ein Skalar in Abhängigkeit zu dessen "Krümmung in der Ebene" zuweist.

Hallo

 du weigerst dich zu sagen, was dein "Skalarfeld" denn nun eigentlich messen soll?

wenn du es mit der Krümmung von flachen vergleichen willst musst du sagen ob mittlere Krümmung oder Gausssche Krümmung, auf eine Fläche etwa misst man die 2 Hauptkrümmungen, d.h man mittels (oder multipliziert die maximale und minimale Krümmung in einem Punkt. Wenn deine Versuche was vernünftiges ergeben sollen, solltest du .B, einen Zylinder, Kugel, Torus  triangulieren, dann muss dein Verfahren qualitativ das Ergebnis der Flächenkrümmung geben.

Aber eigentlich müsstest du dich mit Literatur zu triagonalisierten Flächen beschäftigen, denn dein Problem ist ja nicht neu, und nicht jeder kann aus dem Stand eine vernünftige Definition eu erfinden.

Gruß lul

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community