Antworten auf deine Fragen:
Neues Thema erstellen

Bounding Box berechnen

nux95

Developer, C4D Betatester

Hi Leute, ich verstehe einfach nicht wie man die Boundingbox berechnet ohne dass die Achse zentriert sein muss.
Ich habs jetzt schon geschafft dass sie zwar nicht zentriert sein muss, dafür aber nicht ausserhalb des Objekts sein darf, oder so ähnlich ? :?:

Hier ist der Code der Funktion

PHP:
GetBoundingbox(op) {
  if (op->GetType() != 5100) { return false; }
    var pos = op->GetPosition();
  var i;
  var max = vector(0);
  var min = vector(0);
  for (i=0; i < op->GetPointCount(); i++) {
    var p = op->GetPoint(i) + pos;
    if (p.x < min.x) {min.x = p.x;} if (p.x > max.x) {max.x = p.x;}
    if (p.y < min.y) {min.y = p.y;} if (p.y > max.y) {max.y = p.y;}
    if (p.z < min.z) {min.z = p.z;} if (p.z > max.z) {max.z = p.z;}
 }
 return max - min;
}
lg nux

///--------Beantwortet--------///
 
Zuletzt bearbeitet:

stroyer

Aktives Mitglied

AW: Bounding Box berechnen

Code:
  var max = vector(0);
  var min = vector(0);
wäre es nicht besser, den ersten Punkt automatisch min und max zuzuweisen?
 

stroyer

Aktives Mitglied

AW: Bounding Box berechnen

PHP:
GetBoundingbox(op) {
  if (op->GetType() != 5100) { return false; }
    var pos = op->GetPosition();
  var i;
  var max = op->GetPoint(0) + pos;
  var min = max;
  for (i=1; i < op->GetPointCount(); i++) {
    var p = op->GetPoint(i) + pos;
    if (p.x < min.x) {min.x = p.x;} if (p.x > max.x) {max.x = p.x;}
    if (p.y < min.y) {min.y = p.y;} if (p.y > max.y) {max.y = p.y;}
    if (p.z < min.z) {min.z = p.z;} if (p.z > max.z) {max.z = p.z;}
 }
 return max - min;
}
So in etwa. Dadurch kann min auch kleiner 0 sein, wenn das Objekt weiter auf der negativen Seite ist.
 

nux95

Developer, C4D Betatester

AW: Bounding Box berechnen

Cool, funzt :D
Ich chegg iwie grad nur nich was genau sich geändert hat :uhm:
Also klar des im Code hab ich bemerkt, aber von der Rechnung her.
 

stroyer

Aktives Mitglied

AW: Bounding Box berechnen

Bei deiner Variante hat min nie Zahlen größer 0 annehmen können, da es standardmäßig schon auf (0,0) war und nur kleinere Zahlen angenommen hat (bei max umgekehrt), auch wenn es nur Punkte mit größeren Koordinaten gibt.
 

nux95

Developer, C4D Betatester

AW: Bounding Box berechnen

Achsooooooooo klaaaaaaaaaaaaar ! Ist ja voll logisch :p :lol:
Dankeschön ;-)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben