Felder in einem 3D Quader prüfen



  • Hallo,

    Es geht um folgendes:

    Eine dreidimensionale Box ist durch ein XYZ Koordinatensystem beschrieben, X, Y und Z sind jeweils 10 Einheiten gross.

    Innerhalb dieser Box befindet sich ein weiteres räumliches Objekt, was aber keine regelmässige Form hat- irgendwas, nennen wir es O.

    Nun will ich eine Funktion schreiben, die prüft ob ein Teil von Objekt O innerhalb eines Gerenzbereichs an den jeweiligen Seiten der Box liegt.

    Hier gehe ich bislang wie folgt vor:

    // dimXYZ[] enthaelt die jeweiligen Kantenlaengen der Box in X[0],Y[1] oder Z[2]
    // dist ist der Grenzbereich
    
        for(int x = 0; x <= dimXYZ[0]; x++)
        {
         	for( int y = 0; y <= $dimXYZ[1]; y++)
            {
             	for( int z = 0; z <= dist; z++)
                {
                	check = doesObjectIntersect(x, y, z);
                    if(check != 0)
                    {
                    	isExtendX = true;
    
                    }
                }
            }
        }
    

    Dementsprechend nochmal so eine Schleifenparade für X und für Z.

    Ich weiss, dass diese Herangehensweise völlig suboptimal ist, komme aber gerade auf nichts besseres. Daher hoffe ich, dass mir hier jemand den Ball zuwerfen kann, der mich auf bessere Ideen bringt!

    Besten Dank und besten Gruß!


Anmelden zum Antworten