AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Schnitt von Gerade und Fkt. 3. Grades im R2
Thema durchsuchen
Ansicht
Themen-Optionen

Schnitt von Gerade und Fkt. 3. Grades im R2

Ein Thema von Medium · begonnen am 10. Dez 2009 · letzter Beitrag vom 10. Dez 2009
Antwort Antwort
Seite 1 von 2  1 2      
Medium
Online

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#1

Schnitt von Gerade und Fkt. 3. Grades im R2

  Alt 10. Dez 2009, 15:10
Eigentlich bin ich ja relativ Sattelfest in solchen Dingen, aber ich wurschtel mich hier gerade selbst ein.

Ich habe eine Gerade in Vektorform (A+t*B) und ein Catmull-Rom-Spline, welches auf seinen einzelnen Abschnitten einfach eine Funktion 3. Grades ist (a*t³+b*t²+c*t+d). Der Knackpunkt ist, dass alles im R2 passiert, also auch die a, b, c und d's in der Funktion haben 2 Koordinaten.

Ich versuche nun einfach die 1-3 Schnittpunkte der Geraden und eines solchen Spline-Segmentes zu finden, und zwar so schnell wie möglich (also in Laufzeit). Ich hab mich beim Herleiten aber dermaßen verrannt, dass ich nicht mehr Kaffee von Kippen unterscheiden kann. "Irgendwie Gleichungssystem" ist im Moment alles was meine Neuronen noch her geben .

Hat da grad jemand eine Kiste parat?
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.445 Beiträge
 
Delphi 12 Athens
 
#2

Re: Schnitt von Gerade und Fkt. 3. Grades im R2

  Alt 10. Dez 2009, 15:38
Ich krame dann mal ganz tief in der Kiste...

Was du suchst ist die Menge aller t für die (a*t³+b*t²+c*t+d) = (A+t*B) .

Einfaches Umformen bringt: a*t³ + b*t² + (c-B)*t + (d - A) = 0 Das Ganze reduziert sich somit auf die Berechnung der Nullstellen eines Polynoms 3. Grades und da habe ich auch gerade nichts brauchbares zur Hand.
Uwe Raabe
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Schnitt von Gerade und Fkt. 3. Grades im R2

  Alt 10. Dez 2009, 15:41
Kannst du etwas genauer erklären, was was in deiner notation ist?

A+t*B: sind A und B zweikomponentige-Vektoren (B richtungsvektor, A Stützvektor) und t ein Skalar?

(a*t³+b*t²+c*t+d): Handelt es sich bei dem t hier ebenfalls um ein skalar und was meinst du mit "a, b, c und d's in der Funktion haben 2 Koordinaten" also sind das auch zweikomponentige Vektoren?

In diesem Fall solltest du durch gleichsetzen der beiden Terme zwei (skalare) Gleichungen dritten Grades erhalten, welche beide die selben Lösungen für t enthalten müssen.

d.h. dein Problem "reduziert" sich auf ein Lösen von "normalen" Polynomen dritten Grades?!

[edit]
Und ein Polynom dritten grades kann man wohl über die sog "Cardanischen Formeln" lösen:

http://de.wikipedia.org/wiki/Cardanische_Formel

[/edit]
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Medium
Online

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Schnitt von Gerade und Fkt. 3. Grades im R2

  Alt 10. Dez 2009, 15:47
Zitat von alleinherrscher:
A+t*B: sind A und B zweikomponentige-Vektoren (B richtungsvektor, A Stützvektor) und t ein Skalar?
Jap.

Zitat von alleinherrscher:
(a*t³+b*t²+c*t+d): Handelt es sich bei dem t hier ebenfalls um ein skalar und was meinst du mit "a, b, c und d's in der Funktion haben 2 Koordinaten" also sind das auch zweikomponentige Vektoren?
Jap - sogar die Begrifflichkeiten sind bei mir schon degeneriert...

Was unglücklich gewählt war, war das t in beiden Termen. Es handelt sich nicht um das selbe t in Gerade und Funktion! Nennen wir doch das t in der Gerade einfach mal s: A+s*B

Ich brauche also entweder eine Lösung in t oder in s, wobei das Eine ja das Andere ergeben sollte. Letztlich brauche ich auch beide Skalare um zu prüfen ob der Schnitt auf einem bestimmten Abschnitt der Funktion, und in der richtigen Orientierung der Geraden ist.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Schnitt von Gerade und Fkt. 3. Grades im R2

  Alt 10. Dez 2009, 15:52
Du bekommst ja nach dem Gleichsetzen 2 Gleichungen mit jeweils s und t drin
Durch geschickte Addition/Subtraktion der beiden Gleichungen solltest du das s bzw das t (am einfachsten das skalar, welches zur Geradengleichung gehört) herauswerfen können oder?
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.445 Beiträge
 
Delphi 12 Athens
 
#6

Re: Schnitt von Gerade und Fkt. 3. Grades im R2

  Alt 10. Dez 2009, 15:54
Zitat von Medium:
Was unglücklich gewählt war, war das t in beiden Termen. Es handelt sich nicht um das selbe t in Gerade und Funktion! Nennen wir doch das t in der Gerade einfach mal s: A+s*B
Ich denke, es ist doch dasselbe - oder zumindest lediglich um eine Konstante verschoben. Wenn es nämlich keine Beziehung zwischen s und t gibt, entziehst du deinem System nämlich jede Lösungsmöglichkeit!
Uwe Raabe
  Mit Zitat antworten Zitat
Medium
Online

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Schnitt von Gerade und Fkt. 3. Grades im R2

  Alt 10. Dez 2009, 16:12
s und t sind über die aus der Gleichsetzung entstandenen Formel miteinander verbunden, ein einfacher Skalar wird das eher selten sein.

Und so langsam dämmert es wieder: Ich muss im gleichgesetzten Term entweder s durch einen Term in t ausdrücken, oder umgekehrt! Also genau diese Formel rausziehen, über die s und t voneinander abhängen. Das muss nun nur noch nicht nur auf dem Papier, sondern möglichst flott und automatisch im Programm passieren
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.445 Beiträge
 
Delphi 12 Athens
 
#8

Re: Schnitt von Gerade und Fkt. 3. Grades im R2

  Alt 10. Dez 2009, 16:15
Zitat von Medium:
s und t sind über die aus der Gleichsetzung entstandenen Formel miteinander verbunden, ein einfacher Skalar wird das eher selten sein.
Wenn du die Abhängigkeit von s und t nicht durch etwas anderes als die Gleichsetzung bekommst, kannst du das Problem nicht lösen. Du hast dann nämlich nur eine Gleichung mit zwei Unbekannten und die ist erfahrungsgemäß nicht lösbar.
Uwe Raabe
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Schnitt von Gerade und Fkt. 3. Grades im R2

  Alt 10. Dez 2009, 16:43
Zitat von Uwe Raabe:
Du hast dann nämlich nur eine Gleichung mit zwei Unbekannten und die ist erfahrungsgemäß nicht lösbar.
*hust* Na das wäre ja mal ganz was Neues
Genaugenommen ist so eine Gleichung nicht nur lösbar, sie hat sogar unendlich viele Lösungen

//Edit:
Gelöst wird dann üblicherweise über freie Belegung einer Variablen (wie unser Lehrer es immer so schön nannte "Raten"):
zB.:
Code:
a + b = 10 => a = 10-b
Setze b = 1: => a = 10-1 = 9
==> a = 9 / b = 1
Hupsa, eine mögliche Lösung von vielen
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.445 Beiträge
 
Delphi 12 Athens
 
#10

Re: Schnitt von Gerade und Fkt. 3. Grades im R2

  Alt 10. Dez 2009, 16:53
Zitat von leddl:
Zitat von Uwe Raabe:
Du hast dann nämlich nur eine Gleichung mit zwei Unbekannten und die ist erfahrungsgemäß nicht lösbar.
*hust* Na das wäre ja mal ganz was Neues
Genaugenommen ist so eine Gleichung nicht nur lösbar, sie hat sogar unendlich viele Lösungen
Na, dann viel Spaß beim Lösen. Meld dich, wenn du fertig bist...

Ich zitiere mal aus dem Original-Post:

Zitat:
Ich versuche nun einfach die 1-3 Schnittpunkte der Geraden und eines solchen Spline-Segmentes zu finden, und zwar so schnell wie möglich (also in Laufzeit).
Uwe Raabe
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz