Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Mai 14, 2024 16:32

Foren-Übersicht » Programmierung » Mathematik-Forum
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Dinge im Dreieck
BeitragVerfasst: Mo Nov 03, 2008 11:24 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Hi ihr,

Leider fällt mir kein besserer Titel ein, ich weiss auch nicht, wie man sowas nennen könnte. Aber ich hab hier zumindest ne Skizze:
Bild
// Edit: Grafik aktualisiert

Also. Ich möchte drei Werte auf ein Dreieck abbilden. Dabei sollen die Winkelhalbierenden als "Achsen" fungieren.
Um einen Punkt im Dreieck auf die ihm zugeordneten Werte umzurechnen habe ich schon eine Formel. Hier für die "B"-Koordinate:
Wert = dotProduct(normalize(Punkt - B), normalize(BHalbierende)) * length(Punkt - B)

Soweit ich das sehe, müsste das so klappen.

Nur in der anderen Richtung... Da weiss ich gerade nicht weiter. Ich denke mir, dass ich generell nur zwei Werte bräuchte, der dritte ließe sich errechnen. Mit jedem einzelnen Wert kann ich eine Gerade bestimmen, auf der der Punkt liegt. Jetzt muss ich "nur noch" den Schnittpunkt zwischen diesen beiden Geraden finden. Ich wollte aber so Geradenfunktionen gerne vermeiden und am liebsten bei den unkomplizierten Vektoren bleiben.

Ich hoffe, das war verständlich. Sobald ich wieder nen Grafikprogramm da habe, werde ich die Skizze korrigieren und ein bisschen erweitern. Aber vielleicht habt ihr ja so schon ne idee ;).

Gruß & Thanks In Advance Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 03, 2008 18:32 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Ok... Ich habe jetzt eine Lösung für das Umrechnen von ABC zu XY. Nur ganz verstanden habe ich sie noch nicht, aber das wird sicherlich auch noch.
X = C * sin(30°) + (0.5-B*sin(30°))
Y = A * cos(30°)

So ungefähr zumindest.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 03, 2008 19:04 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Mir war Deine Fragestellung nicht ganz klar. Deshalb eine dumme Rückfrage: könnte es vielleicht irgendetwas damit zu tun haben: http://www.matheraum.de/forum/Punkt_im_Dreieck/t435658?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 03, 2008 21:00 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Nein. Aber es ist auch verdammt schwer, das zu erklären... Nun, stell dir vor, du hast drei Werte, zum Beispiel drei Schwerpunkte bei einer Zivilisation: Produktion, Forschung und Finanzen. Nun hast du 100 Punkte, die du alle verteilen musst, nicht einen mehr und nicht einen weniger. Das kann man mit einem Gleichseitigen Dreieck lösen, wenn man für alle drei Kategorien die Winkelhalbierenden der Eckpunkte als Achsen verwendet. Dann ist für jeden Punkt im Dreieck gegeben, dass die Anzahl der Punkte, die die drei Werte bekommen, zusammenaddiert genau die Maximalzahl ergibt.

Klar geworden oder soll ichs nochmal versuchen? ;)

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 03, 2008 21:41 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Heute lieber nicht mehr. Hab ein Glas Wein getrunken und mein Geisteslicht erlischt zusehends....


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 03, 2008 22:50 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
baryzentrische koordinaten nennt man das.

So ich versuchs mal:

a*P1 + b*P2 + C*P3 = P wobei a+b+c = 1

Soweit mein Computergrafikscript. ;)

Hats also doch noch was gebracht. ;)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 04, 2008 11:08 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Interessanter Ansatz, Flash. Den muss ich bei gelegenheit mal durchrechnen. Der ist vieel unkomplizierter als das, was mir mein Bruder vorgeschlagen hat und er erscheint mir auch sehr logisch.

Klappt das ganze dann auch mit Fünfecken und so? Also:
a*P1 + b*P2 + c*P3 + d*P4 + e*P5 = P wenn a+b+c+d+e=1

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 04, 2008 11:14 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Wenn die 5 Punkte in einer Ebene liegen (sonst beschreibst Du ein Polytop) und du das beschriebene Polygon als Konvex annimmst, dann gehts. Eindeutig ist die Darstellung aber nicht mehr... Siehe auch http://de.wikipedia.org/wiki/Konvexkombination unter Spezialfälle letzter Punkt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 04, 2008 13:58 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Was meinst du, die Darstellung ist nicht mehr eindeutig, wenn ich ein zweidimensionales, gleichseitiges Fünfeck habe? Geht das dann nicht mehr so schön einfach wie beim Dreieck, dass jeder Position genau ein Werttripel zugeordnet werden kann (und umgekehrt)?

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 04, 2008 14:21 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
ganz genau das heisst das. gibt halt mehr als ein lösungsmöglichkeit.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Foren-Übersicht » Programmierung » Mathematik-Forum


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.022s | 17 Queries | GZIP : On ]