Funktion zur 3D Collisions Erkennung gesucht

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

tft

Betreff: Funktion zur 3D Collisions Erkennung gesucht

BeitragDo, Feb 13, 2020 1:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Funktion zur 3D Collisions Erkennung gesucht.

Hallo,

wie der Titel schon sagt, benötige ich eine Funktion, die ohne die 3D Funktionen von Bliz3D Auskommt.
Etwas in dieser art. Leider bekomme ich das nicht zum Funktionieren. Im Netz habe ich folgendes gefunden.

;function intersect(a, b) {
; Return (a.minX <= b.maxX && a.maxX >= b.minX) && (a.minY <= b.maxY && a.maxY >= b.minY) && (a.minZ <= b.maxZ && a.maxZ >= b.minZ);

; public Static boolean checkCollision(ObjectBox a, ObjectBox b){
; {
; //check the X axis
; If(Math.abs(a.getX() - b.getX()) < a.getSizeX() + b.getSizeX())
; {
; //check the Y axis
; If(Math.abs(a.getY() - b.getY()) < a.getSizeY() + b.getSizeY())
; {
; //check the Z axis
; If(Math.abs(a.getZ() - b.getZ()) < a.getSizeZ() + b.getSizeZ())
; {
; Return true;
; }
; }
; }
;
;Return false;
; }

und dieses, was eine Kugel Cube Collision detektieren kann.

;function intersect(sphere, box) {
; // get box closest point To sphere center by clamping
; var x = Math.max(box.minX, Math.min(sphere.x, box.maxX));
; var y = Math.max(box.minY, Math.min(sphere.y, box.maxY));
; var z = Math.max(box.minZ, Math.min(sphere.z, box.maxZ));
;
; // this is the same As isPointInsideSphere
; var distance = Math.sqrt((x - sphere.x) * (x - sphere.x) +
; (y - sphere.y) * (y - sphere.y) +
; (z - sphere.z) * (z - sphere.z));
;
; Return distance < sphere.radius;

Hat jemand zufällig etwas wo er weis das es Funktioniert? Wenn ich nicht schon graue Haar hätte .... na ihr wisst schon.

Gruss TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!
 

sinjin

BeitragSa, Feb 22, 2020 22:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß nur, das der Punkt manchmal nicht ausreicht, was wenn deine Box viel grösser ist als das ein Punkt von den 4 Ecken von deiner Box ist? du musst es schon so berechnen ob die Tangente durch den Kreis/Ellipse läuft Very Happy Ist echt Mathe und auch im 3D nicht so simple. Das ist schon höhere Mahtematik, ich habe es mir jetzt nicht super genau durchgelesen aber sowas wie: https://stackoverflow.com/ques...ther-point das suchst du. Und falls es dir hilft, ich habe so gesucht: closest line to another line 3d

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group