Funktion zur 3D Collisions Erkennung gesucht
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
tftBetreff: Funktion zur 3D Collisions Erkennung gesucht |
Do, Feb 13, 2020 1:43 Antworten mit Zitat |
|
---|---|---|
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 |
Sa, Feb 22, 2020 22:15 Antworten mit Zitat |
|
---|---|---|
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 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 | ||
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group