Abstand zwischen 2 Punkten in 3D
Übersicht

![]() |
the FR3AKBetreff: Abstand zwischen 2 Punkten in 3D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hiho,
hat jemand vielleicht eine Idee, wie ich den Abstand von 2 Punkten in einem 3 Dimensionalen Raum errechnen kann? Für 2D weiss ich wie es geht aber bei 3D hab ich keine Ahnung... mfg |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier brauchst du 2 mal pythagoras
tmp = sqr/(x_abs^2)+(y_abs^2)) abstand = sqr((tmp^2)+(z_abs^2)) Angabe ohne Gewähr. Müsste aber funktionieren. |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
vll. mit EntityDistanze oder so. Bin leider in 3D nicht so erfahren. Wie diese Funktion arbeitet weiß ich auch nicht genau. Aber ich denke das es wie in 2D auch ist. Du rechnest mit Pythaguras den Abstand auf der XZ ebene aus. Und dann rechnest du mit Pythaguras den abstand der XY ebene aus, dann nimmst du diese als neue Grundseite und dann müsstest du es haben. Ich mach gleich mal ne Skizze. Viele Grüße TimBo Edit: Smily0412 war schneller meine Grauselige Skizze, vll hilft sie dir: ![]() |
||
- Zuletzt bearbeitet von TimBo am Mo, Nov 24, 2008 13:28, insgesamt einmal bearbeitet
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah danke, aber smily könntest du mir die Formel noch kurz erklären? Ich versteh nicht genau was x_abs y_abs und z_abs sein sollen ![]() Achja EntityDistance ist nicht möglich, da ich so eine Funktion in C++ (Irrlicht) Programmieren will und ich keine Funktion dazu gefunden habe...und auf dem Irrlicht Forum bekomme ich nicht so schnell eine Antwort wie hier ![]() mfg |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: tmp = sqr/(x_abs^2)+(y_abs^2))
abstand = sqr((tmp^2)+(z_abs^2)) x_abs ist der Abstand beider Punkte auf der X-Achse, kann man mit x1-x2 errechnen. y-abs ist der Abstand beider Punkte auf der Y-Achse, kann man auch mit y1-y3 errechnen. tmp ist der abstand beider Punkte auf der xy - Ebende, errechnet mit Pythaguras den Abstand errechnet man, indem man den Abstand auf der XY - Ebene als Kathede und den Abstand der Z ebende als Ankathede benutzt. |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das geht genauso wie in 2D, nur mit dem zusätzlichen Parameter.
Code: [AUSKLAPPEN] ab# = Sqr( (x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2 )
EDIT: noch schicker als Wiki-Grafik (und als klickbarer Link für ungläubiger ![]() ![]() |
||
- Zuletzt bearbeitet von D2006 am Mo, Nov 24, 2008 13:35, insgesamt einmal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oder gleich vereinfacht:
Distanz = sqr(a²+b²+c²), wobei a, b und c die Abstände der beiden Punkte auf den einzelnen Achsen sind. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
E. Urbachehemals "Basicprogger" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wozu zweimal Wurzel ziehen und unnötig Rechenzeit verschwenden? Einfach Term umformen:
Code: [AUSKLAPPEN] dist = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2 + (z2 - z1) ^ 2)
Edit: Ich bin zu langsam ![]() |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
- Zuletzt bearbeitet von E. Urbach am Mo, Nov 24, 2008 13:35, insgesamt 2-mal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
3-in-a-row ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist das wirklich schneller als EntityDistance![]() |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mal ab davon, dass nicht gesagt wurde, es gehe um Blitz3D, würde ich ganz stark vermuten, dass EntityDistance einfach dasselbe macht. | ||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
E. Urbachehemals "Basicprogger" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@hectic: Die Diskussion hatten wir schonmal.
Er braucht es ja für Irrlicht/C++. |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
wenn Blitz ^2 rechnet, dann geht das ganz langsam. Man sollte sqr ( a*a + b*b + c*c ) rechnen, müsste auch in c++ schneller gehen. |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soo es funktioniert ^_^
danke für die Hilfe! |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group