![]() |
Bei Linien ist das doch vom Prinzip her das gleiche.
|
Ich bräucht's nur 2D , denn wenn 's fertig ist wirds mal ein Acade-shooter(Die gute alte zeit).
|
Also du hast die Punkte P1 (x1, y1) und P2 (x2, y2) gegeben. Dann kannst du den Abstand zwischen den zwei Punkten berechnen:
Abstand := SQRT(SQR(x2-x1)+SQR(y2-y1)). Disen Abstand kannst du durch die Anzahl der Punkte die du haben willst teilen. Diese Zahl soll r sein. Dann kannst du einen Punkt P3( x3, y3) berechnen: x3 = x1 + r(x2-x1) y3 = y1 + r(y2-y1) Für den nächsten Punkt setzt du statt r einfach r+r ein, dann r+r+r... Wenn ich mich richtig Mathe erinnere müsste es so gehen. |
:hello: genau nach sowas hab ich gesucht !
aber kleine Frag e noch bevor ich's progge : der Punkt P4 ist dann x4 = x1 + r(x2-x1) + r(x2-x1) y4 = y1 + r(y2-y1) + r(y2-y1) oder ? |
Eigentlich ja, aber es ist viel einfacher wenn du
x4=x1+2*r*(x2-x1) y4=y1+2*r*(y2-y1) schreibst. |
Optimal !
Aber weisst du wie man das ganze mit einem halbkreis statt einer linie mach t? |
Hi braingrenade,
der Mathematiker Bresenham hat ein paar solcher Algorithmen entwickelt, der hier dürfte interessant für dich sein: ![]() MfG, d3g |
x3 = x1 + r(x2-x1)
y3 = y1 + r(y2-y1) ist falsch. wenn r die anzahl der punkte ist, dann müsste das da gelten: x3 = x1 + ((x2-x1)/r * "anzahl, wievielter punkt") |
verdammt kompliziert dieser kreis - Algo !
Muss mich halt mal ein bischen reinhängen ! Wenn das ganze dann 20?? fertig ist stell ich's als erstes ins forum ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:35 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