AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Achsenspiegelung: Punkt an einer Gerade spiegeln?
Thema durchsuchen
Ansicht
Themen-Optionen

Achsenspiegelung: Punkt an einer Gerade spiegeln?

Ein Thema von nano · begonnen am 15. Sep 2005 · letzter Beitrag vom 17. Sep 2005
Antwort Antwort
Seite 2 von 2     12   
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#11

Re: Achsenspiegelung: Punkt an einer Gerade spiegeln?

  Alt 16. Sep 2005, 14:32
Wenn's euch so aufregt, warum antwortet ihr dann? Wenn ich einen Post seh, der mich aufregt oder bei dem ich so meine Zweifel an der Legitimation hab (Hausaufgaben, Sachen die eindeutig nach Virus etc klingen) dann antworte ich halt nicht.
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Achsenspiegelung: Punkt an einer Gerade spiegeln?

  Alt 16. Sep 2005, 19:50
Auch wenn es Hausaufgaben sind, ne Anregung soll er ruhig haben, wir Rechnen ihm ja immerhin nix aus oder Posten den Code den er gern hätte, wir liefern ihm ja nur Denkanstöße, ok der ein oder andere ist nen Tritt aber das macht ja nix^^

Also mir ist es egal wofür er das braucht, ich geb gern nen Denkanstoß, mehr soll aber auch reichen!
Jan
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#13

Re: Achsenspiegelung: Punkt an einer Gerade spiegeln?

  Alt 16. Sep 2005, 20:42
Code:
d = |(x1 - x0)*n|
mit
x1: zu überprüfender Punkt
x0: Punkt auf der Geraden
n: normierte Normale der Geraden.
d: Abstand von Gerade zu x0

sagt zumindest meine Formelsammlung.

edit: und dann noch
Code:
x1' = x1 - 2*d*n
mit
x1': an der Geraden gespiegeltes x1
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
Benutzerbild von nano
nano

Registriert seit: 22. Aug 2005
Ort: Deggendorf
51 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Achsenspiegelung: Punkt an einer Gerade spiegeln?

  Alt 17. Sep 2005, 00:10
Zitat:
[ ] Du weißt, was eine Gerade ist.
Alles reine Definitionssache. Tut mir herzlich leid, wenn ich meine Schrift zu ungenau verfasst habe. Glücklicherweise verstand die Mehrheit, was ich damit meinte. Danke übrigens für den sehr hilfreichen Beitrag

Zitat:
Eine etwas zynische Bemerkung: Hab ich dir jetzt deine Hausaufgaben gemacht?
Blödsinn =) Um etwas gleich mal klar zu stellen: Ich gehe jetzt in die 13. Klasse eines Gymnasius mit Mathe als Leistungskurs, wo ich in beiden Vorsemestern jeweils 27 Punkte erreicht habe. Die Berechnungen sollten mir daher nicht so schwer fallen, wie von euch vermutet. Die analytische Geometrie war übrigens Stoff des ersten Semesters.

Zitat:
...Posten den Code den er gern hätte, ..
keine voreiligen Schlüsse, bitte Ehrlich gesagt, nach solch unbegründeten Vorwürfen wird es mir ziemlich bald schwer fallen, hier überhaupt noch Fragen zu stellen =))


Ich gebe ja zu, die Frage war nicht korrekt gestellt:
1) Gibt es vorgefertigte Prozeduren/Bibliotheken zur Achsen- und (möglichst) Punktspiegelung?
2) Gehen bei der Berechnung von Schnittpunkt nicht ein Paar Werte verloren, sodass zwei unterschiedliche Punkte auch einen gemeinsamen Spiegelpunkt fallen würden?
3) Gibt es vielleicht rein graphische Lösungen (Drehen des Bitmaps?)?


Vielen Dank für eure Beiträge!
i n f l i c t e d . d e
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#15

Re: Achsenspiegelung: Punkt an einer Gerade spiegeln?

  Alt 17. Sep 2005, 15:21
Der getroffene Hund bellt!

Rainer
  Mit Zitat antworten Zitat
Benutzerbild von nano
nano

Registriert seit: 22. Aug 2005
Ort: Deggendorf
51 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Achsenspiegelung: Punkt an einer Gerade spiegeln?

  Alt 17. Sep 2005, 19:04
sehr informativ, danke


Für alle, die noch an der Lösung interessiert sind:

Delphi-Quellcode:
function TMain.PunktAnGeradeSpiegeln(A, B, P: TPoint): TPoint;
var
xS,yS: Real;
begin
  xS:= - P.X + 2*(((A.X-B.X)*(A.X-B.X)*P.X + (A.Y-B.Y)*(A.Y-B.Y)*A.X + (A.X-B.X)*(A.Y-B.Y)*P.Y - (A.X-B.X)*(A.Y-B.Y)*A.Y) / ((A.Y-B.Y)*(A.Y-B.Y) + (A.X-B.X)*(A.X-B.X)));
  yS:= - P.Y + 2*(((A.X-B.X)*(A.Y-B.Y)*P.X - (A.X-B.X)*(A.Y-B.Y)*A.X + (A.Y-B.Y)*(A.Y-B.Y)*P.Y + (A.X-B.X)*(A.X-B.X)*A.Y) / ((A.Y-B.Y)*(A.Y-B.Y) + (A.X-B.X)*(A.X-B.X)));
  Result:= Point(Round(xS),Round(yS));
end;
A und B legen die Gerade fest. P ist derjenige Punkt, der an der Gerade [AB] gespiegelt werden soll. Die Funktion gibt den Spiegelpunkt zurück. Bei beiden Koordinaten wird mit exakten Werten gerechnet, anschließend werden sie gerundet.

Ansatz:
1) Geradengleichung
2) Normalengleichung
3) Gleichsetzen
4) Nach X bzw. Y auflösen


Funktion erfolgreich getestet, danke für die Aufmerksamkeit
i n f l i c t e d . d e
  Mit Zitat antworten Zitat
Benutzerbild von nano
nano

Registriert seit: 22. Aug 2005
Ort: Deggendorf
51 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Achsenspiegelung: Punkt an einer Gerade spiegeln?

  Alt 17. Sep 2005, 19:10
Zitat von runger:
Hallo,

1.) Gerade berechnen--> Zweipunkteform
oder f(x)=mx+b beide Geradenpunkte einesetzen --> m und b berechnen.

2.) m negativ reziprok machen--> kehrwert * (-1)
Diese Steigung nenne ich M.

3.) in g(x)=Mx+B einsetzen

4.) Den Punkt durch den die senkrechte gehen soll in diese gleichung einsetzen.

5.) B berechen.

6.) B in Gleichung einsetzen

7.) Schnittpunkt beider Geraden berechnen.
mx+b=Mx+B löse auf dann kriegst du x0 einsetzen dann kriegst du y0

8.) Abstand berechnen (Formelsammlung)

9.) Diesen Abstand in die allgemeine Abstandsformel einsetzen
x1 und y1 werden durch durch deinen Schnittpunkt ersetzt
y2 wir durch Mx+B ersetzt

10.) Löse diese Gleichung auf, dann bekommst du einen X Wert
setze diesen in deine Geradengleichung ein und du bekommst einen y Wert
fertig.
zu umständlich

so geht die eine oder andere Nachkommastelle verloren. Bequemer wär die Aufstellung einer Formel, die direkt zum Ergebnis führt. Spart man Zeit und Ressis..
i n f l i c t e d . d e
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 04:49 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