Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Berechnung einer linie (https://www.delphipraxis.net/2164-berechnung-einer-linie.html)

nailor 10. Jan 2003 15:41

Bei Linien ist das doch vom Prinzip her das gleiche.

braingrenade 10. Jan 2003 15:43

Ich bräucht's nur 2D , denn wenn 's fertig ist wirds mal ein Acade-shooter(Die gute alte zeit).

lodda 10. Jan 2003 16:00

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.

braingrenade 10. Jan 2003 16:08

: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 ?

lodda 10. Jan 2003 16:12

Eigentlich ja, aber es ist viel einfacher wenn du
x4=x1+2*r*(x2-x1)
y4=y1+2*r*(y2-y1)
schreibst.

braingrenade 10. Jan 2003 18:12

Optimal !

Aber weisst du wie man das ganze mit einem halbkreis statt einer linie mach t?

d3g 10. Jan 2003 18:59

Hi braingrenade,

der Mathematiker Bresenham hat ein paar solcher Algorithmen entwickelt, der hier dürfte interessant für dich sein:
Bresenham-Kreis-Algorithmus

MfG,
d3g

nailor 10. Jan 2003 19:51

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")

braingrenade 10. Jan 2003 20:14

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 23:06 Uhr.
Seite 2 von 2     12   

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