Kollision zwischen 2 Strecken berechnen
-
Ishildur schrieb:
Also das mit dem Hardcoden lassen wir doch besser!!
Es gibt mehrere Tausend Hindernisse...Hallo?
Er hat vorgeschlagen, Du sollst das Auflösen des LGS nach den Variablen einmal durchrechnen und die entstehenden Ausdrück hart kodieren. So nach dem Motto:
r = a1*a2+b2-b1 oder so, damit Du nicht jedesmal im Code ein LGS lösen mußt.Die Parameter sollst Du natürlich nicht fest reinschreiben.
MfG Jester
-
hehe ich frag mich gerade was man da noch drunter verstehen kann
sone volladder bauen oder so
-
@Jester
Auch Hallo?
Hast du einmal daran gedacht, dass diese Hindernisse möglicherweise nicht statisch sind? Ach ja, ebenfalls
-
also.. mit statisch ist nicht gemeint ein seperates ergebnis zu programmieren
sondern einfach mal die variablen in ihrer rohform zur loesung zu bringen
jedenfalls das alles so umstellen bis sich ein ergebnis ergibt was man irgendwo fuer den allegemeinen fall uebernehmen kann und nur so einsetzt
was dann auch mit tabellarischer loesung bezeichnet wird
man setze also p1+blah=p3+blah
dann meinetwegen zu einem homogenen linearen gleichungssystem verwandelnindem man r1 als formel rausfidet
dann in die zweite gleichung *yawn*
naja du wirst das schon schaffen
*thumbs up*
-
@lookias
Hallo lookia ich danke dir vielmals für deine Postings!!
Du aber ich habe da noch eine Frage, folgendes hat mich etwas verwirrt...bessere leosung :
die jeweiligen x und y werte vergleichen
und zwar ob x3 oder x4 zwischen x1 und x2 liegen
dann das selbe fuer die y werte
ist das der fall scheniden sie sichBist du sicher, dass das funktioniert? Also ich habe da so meine Zweifel!
Stell dir mal folgende Situation vor:
L1 = {0,0},{100,100};
L2 = {10,5},{20,5};Diese zwei Linien haben nach deinem Gleichungssystem einen Schnittpunkt...
-
ja timmt war ne fixe idee und auch garnicht richtig
was ich aber dachte bis vor einer minute
-
Gibt es denn eine Möglichkeit, herauszufinden, ob zwei strecken sich kreuzen, wenn bekannt ist, dass eine der Beiden entweder waagrecht oder senkrecht ist?
-
Ishildur schrieb:
@Jester
Auch Hallo?
Hast du einmal daran gedacht, dass diese Hindernisse möglicherweise nicht statisch sind? Ach ja, ebenfalls
Sorry Kindchen, aber das muß ich mir von Dir nicht bieten lassen.Denk einfach mal ein bißchen drüber nach... und wenn wenn es nicht zur Lösung Deines Problems zu passen scheint, dann kannst Du getrost davon ausgehen, daß Du noch nicht genug gedacht hast.
-
Um's vielleicht nochmal zu verdeutlichen:
Jemand braucht ne Lösung, für folgendes Problem y=m*x+c dabei sind y,m,c gegeben. Wie kriegt man jetzt das x?
Naja, man rechnet mal (angen. m!=0)
x = (y-c)/m.Und das kann Du hardcoden als Lösung Deines Problems.
Dann mußt Du das Umstellen der Gleichung nicht im Programm bewerkstelligen. Genau das kannst Du auch auf Deine Situation übertragen und so war's gemeint.Ich frag mich ehrlich gesagt für wie dumm Du uns hältst daß wir Dir vorschlagen die Lösungen hart zu kodieren oder Dich auf statische Hindernisse einzuschränken. Vielleicht solltest Du uns einfach ein bißchen mehr zutrauen.
MfG Jester
-
Weisst du, ich habe, bevor ich ins Forum geposted habe, versucht meinen Mathematiklehrer um Rat zu bitten. Doch der hat mich nicht ernst genommen! Er konnte sich einfach nicht vorstellen, dass alle Werte variabel sind und hat mir "zum Fünhundertsten Mal!!!" klarmachen wollen, dass man bestimmte Werte einfach kennen muss, und diese nicht variabel sein können. Klar habe ich versucht, im klarzumachen, dass ich diese Werte zur gegebenen Zeit schon kennen werde, doch eben noch nicht zum Zeitpunkt der Formelerstellung. Das wahr zuviel für ihn.Mir ist schon klar, dass mein Mathelehrer anscheinend noch nie in Berührung einer Programmiersprache gekommen ist, und seine Meinung auf diesen Umstand zurückzuführen ist. Nun habe ich angenommen, dass du genauso denkst, doch da habe ich mich gewaltig geirrt und dir Unrecht getan, und dafür entschuldige ich mich!!
P.S.
Die Formel y = m*x+c scheint unter gewissen Umständen nicht ganz einwandfrei zu funktionieren, denn wenn die Linie genau Senkrecht ist, dann ist doch m = ∞, oder habe ich da etwas durcheinander gebracht?
-
Richtig, du musst die Geradengleichen in Vektorform (für Strecken sind dann die Parameter eingeschränkt) nehmen. Das andere suckt, weil es immer ungenauer wird, je senkrechter deine Strecke/Gerade ist.
Google: Strecke, Gerade, Vektorform, Schnittpunkt
Ich find da lauter interessante Sachen.
-
jep das liegt an der andren art der darstellung bei der nromalform der geradengeichung arbeitet man nicht mit vektoren
da x aber ein konstanter wert ist wenn g senkrecht auf der x achse steht
funktioniert das nichtdiese darstellung wird meoglich indem man mit vektoren da rangeht
das hat dann die form (x,y)+t*(0,y') hier ist der wert x konstant und hat den wert x
jetzt nur noch rein formal die beiden geradegleichungen gleichsetzen
und nach formeln ausschauhalten welche die loesung praesentieren
vorsicht ist geboten wenn die beiden punkte welche die gerade repraesentieren gleich sind
weil du dann mit sicherheit an irgendeiner stell in deiner leosung durch 0 dividierst
-
Der Lösungsansatz den ich oben gepostet habe benutzt ja die andere (geschicktere) Geradenform. Wenn Du mit dem Auflösen nicht so zurecht kommst frag einfach nochmal nach.
Und nix für ungut.