Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: Mathematik und Physik ::  schnittpunkt von zwei Geraden berechnen     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
alterbro
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.11.2011
Beiträge: 553
Beitrag alterbro Mitglied 15:49:50 01.07.2012   Titel:   schnittpunkt von zwei Geraden berechnen            Zitieren

Der titel sagt schon alles.
Keine Sorge dass mit dem schnittpunkt hab ich schon in der Schule gelernt.
Ich hab nur absolut keine Ahnung wie das in c++ umzusetzen is, kann mir jmnd helfen?
Klaus82
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.10.2011
Beiträge: 178
Beitrag Klaus82 Mitglied 16:11:04 01.07.2012   Titel:   Re: schnittpunkt von zwei Geraden berechnen            Zitieren

Hi,

alterbro schrieb:

[..], kann mir jmnd helfen?


Spontan hätte ich gesagt du diskretisierst deine x-Achse, packst die zugehörigen Werte der beiden Geraden in einen Array und bildest dann jeweils die Differenz zwischen zwei Werten. Dort wo das Ergebnis im kleinsten ist (im Idealfall Null) hast du den Schnittpunkt, d.h. du musst dann nur wieder rückwärts den entsprechenden x-Wert ausrechnen.

Aber schau doch mal ein wenig nach (Gerade- ) Schnittpunkt und Numerik bei google. Vielleicht findest du da was.

Gruß,
Klaus.
.filmor
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.05.2005
Beiträge: 2365
Beitrag .filmor Mitglied 17:12:48 01.07.2012   Titel:              Zitieren

@Klaus82: Das ist unnötig und ineffizient.

@alterbro: Gib mal ein paar mehr Rahmendaten, wie hast du in der Schule das Ausrechnen des Schnittpunkts gelernt? Warum willst du das in C++ machen und was hast du bereits?
SeppJ
Moderator

Benutzerprofil
Anmeldungsdatum: 10.06.2008
Beiträge: 17959
Beitrag SeppJ Moderator 17:18:25 01.07.2012   Titel:              Zitieren

Rechne mal auf Papier aus, was der Schnittpunkt der beiden Geraden
Code:
P1 + s * V1

und
Code:
P2 + t * V2
ist. Ganz allgemein in Abhängigkeit von P1, P2, V1 und V2. Und dieses Ergebnis setzt du in dein Programm ein.

Du kannst natürlich auch jede andere Form von Geradengleichung benutzen, kommt drauf an, was du vorliegen hast.

_________________
Du brauchst Hilfe?, Buchempfehlungen für C++,
Wie man in Fragen den richtigen Code postet,
The Definitive C++ Book Guide and List
Tim06TR
Mitglied

Benutzerprofil
Anmeldungsdatum: 14.03.2009
Beiträge: 1429
Beitrag Tim06TR Mitglied 18:27:06 01.07.2012   Titel:              Zitieren

Mit Geradengleichungen ohne Vektoren:

Ich würde erstmal 2 Gleichungen aufstellen, bei denen ich einfach nur noch einsetzen muss, um X und Y des Schnittpunktes zu bekommen.

y1 = m1*x + b1
y2 = m2*x + b2

Gleichsetzen:

m1*x + b1 = m2*x + b2
m1*x - m2*x = b2 - b1

Ausklammern:

x * (m1 - m2) = b2 - b1

Ergebnis:
x = (b2 - b1) / (m1 - m2)

So, für y brauch man dann nur noch in eine der gleichungen einsetzen:

y = m1* ((b2 - b1 / (m1 - m2)) + b1

So und mit diesen Gleichungen kannst du das ganze doch recht einfach (mit simplen Ausrechnen) den Schnittpunkt erhalten.

Ablauf:

- Werte b1, b2, m1, m2 vom Benutzer holen (wie auch immer, bei Console z.b. mit std::cin)

- Mit obiger Formel berechnen

- Ausgeben

- Fertig!

Mit Vektoren auf Nachfrage ;)

_________________
"Wie ein Komponist an seinem Klavier gleitet der Programmierer über die Tasten auf der Suche nach der perfekten Komposition" ~me --- Wehe ihr lest meine alten posts ! :D


Zuletzt bearbeitet von Tim06TR am 18:33:44 01.07.2012, insgesamt 2-mal bearbeitet
krümelkacker
Mitglied

Benutzerprofil
Anmeldungsdatum: 10.08.2010
Beiträge: 2230
Beitrag krümelkacker Mitglied 19:25:19 01.07.2012   Titel:              Zitieren

Sebastian Pizer hat dazu mal einen netten Beitrag hier gemacht.
alterbro
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.11.2011
Beiträge: 553
Beitrag alterbro Mitglied 21:00:51 01.07.2012   Titel:              Zitieren

danke, ich seh mir das mal an
c++.de :: Mathematik und Physik ::  schnittpunkt von zwei Geraden berechnen   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.