![]() |
Punkt zwischen 2 Punkten
Hallo,
ich habe 2 Punkte vom Typ TPoint und brauche eine Funktion, die mir den Punkt liefert der auf der Gerade zwichen Punkt1 und Punkt 2 liegt und x% der Strecke von Punkt1 zu Punkt2 von Punkt1 entfernt ist. Da ich in der Schule bei Geometrie immer geschlafen habe, fällt mir das jetzt ein wenig schwer. :) Hat jemand eine Idee, wie eine solche Funktion aussehen könnte?! gruß Evi |
Re: Punkt zwischen 2 Punkten
kannst mal hier schauen, da ist es erklärt:
![]() Grüße Klaus |
Re: Punkt zwischen 2 Punkten
Zitat:
![]() |
Re: Punkt zwischen 2 Punkten
Probier mal
Delphi-Quellcode:
Ich kann dier aber nichts garantieren.
p3.x := (p1.x - p2.x)*Prozentsatz + p1.x;
p3.y := (p1.y + p2.y)*Prozentsatz + p1.y; |
Re: Punkt zwischen 2 Punkten
Zitat:
|
Re: Punkt zwischen 2 Punkten
Nicht schlecht für 13 Jahre^^, aber knapp daneben ist auch vorbei ...
Satz des Pytagoras: Abstand = sqrt((x1-x2)^2+(y1-y2)^2) RichtungsvektorX = x2-x1 RichtungsvektorY = y2-y1 Punkt dazwischen ... (Prozentzahl/100)*Richtungsvektor+Punkt1 mfG Markus |
Re: Punkt zwischen 2 Punkten
müsste es nicht so lauten?
Delphi-Quellcode:
Xm := (x1+x2)/2;
Ym := (y1+y2)/2; |
Re: Punkt zwischen 2 Punkten
Zitat:
|
Re: Punkt zwischen 2 Punkten
Er meint genau die Hälfte der Strecke.
|
Re: Punkt zwischen 2 Punkten
Nicht immer nur die Überschrift lesen und gleich auf den Antworten-Button hämmern :stupid: :mrgreen: .
|
Re: Punkt zwischen 2 Punkten
mh.. irgendwie stell ich mich zu doof an.. also mein Code ist im Mom folgender:
Delphi-Quellcode:
aber funktioniert halt nicht.
Function getpoint(anf,ende:TPoint;pro:integer):TPoint;
VAR point : TPoint; calc : double; BEGIN calc := 100 / pro; point.X := anf.X + round((ende.X-anf.X)*calc); point.Y := anf.y + round((ende.Y-anf.Y)*calc); result := point; END; (uhh man ist das Peinlich :oops:) |
Re: Punkt zwischen 2 Punkten
Richtig ...
da wo ich was von Punkt dazwischen gesprochen habe, ist die Prozentzahl drinne ... Ach ja, bei der Bestimmung des Punktes muss die Rechnung mit beiden Teilkomponenten der Vektoren durchgeführt werden ... (Grundlage Vektorrechung ... Man multipliziert einen Vektor, indem man seine Teilvektoren multipliziert etc.) Sprich Punktdazwischen.X := (Prozentzahl/100)*Richtungsvektor.X+Punkt1.X und das ganze noch mit Y... mfG Markus ROTKASTEN: Die Strecken müssen über Pytagoras bestimmt werden!! EDIT: ROTKASTEN2 ... Evian ... was geht nicht??? |
Re: Punkt zwischen 2 Punkten
Zitat:
Zitat:
|
Re: Punkt zwischen 2 Punkten
Der Rotkasten war auf R2D2 bezogen ... ... weil man mit seiner Formel nicht rechnen kann, auch nicht für die halbe Strecke ... dafür braucht man Phytagoras ... (besser so? *g*)
Aber stimmt, er rechnet nicht Prozent/100 sondern 100/Prozent ... das ist der Fehler!!! mfG Markus |
Re: Punkt zwischen 2 Punkten
ja hast recht.. zu meiner rechtfertigung muss ich aber sagen, dass ich den ganzen Tag auf arbeit rum wegitiere und mir die ganze zeit VBA reinziehen muss.. da wird man irgendwann bescheuert
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz