[anz, gr] = remcube(dim,pos)
Eingabeparameter:
dim = [m, n, l]: ein Vektor mit den Dimensionen des Stapels
pos = [m0, n0, l0]: ein Vektor mit den Koordinaten der
zu entfernenden Kiste
Ausgabeparameter:
anz: Anzahl der zu entfernenden Kisten
gr = [mr, nr, lr]: ein Vektor mit den Dimensionen des zu
entfernenden Stapels
anz = randcube(dim,N,hanz)
Eingabeparameter:
dim = [m, n, l]: ein Vektor mit den Dimensionen des Stapels
N: die Anzahl der zufälligen Positionen
hanz: Anzahl der Bins für die Histogrammfunktion
Ausgabeparameter:
anz: Vektor mit der jeweiligen Anzahl zu
entfernender Kisten
Sie können das Problem noch um folgende Fragestellungen erweitern:
Anstatt ausgehend von einer Ecke einen ganzen Quader abzutragen, kann man
nur eine Schicht herausheben. Bestimmen Sie die Dimensionen der kleinst
möglichen Schicht und die Anzahl der darin enthaltenen Kisten.
Im Beispiel ist das die rot umrandete Schicht mit den Dimensionen
.
[anz, gr] = remcube(dim,pos,how)Sie sollten auch die Funktion randcube um den Parameter erweitern.
zusätzlicher Eingabeparameter:
how: 'c'ür Quader herausheben (cube)
's' für Schicht herausheben (slice)
Anstatt die Quader bzw. Schichten immer nur nach oben entfernen zu
dürfen, kann man auch erlauben, sie nach unten zu entfernen.
Im Beispiel wird anstatt, wie im linken Bild, der obere Quader, der
untere Quader (rechtes Bild) entfernt, da er kleiner ist.
[anz, gr] = remcube(dim,pos,how,dir)Sie sollten auch die Funktion randcube um den Parameter erweitern.
zusätzlicher Eingabeparameter:
dir: 'u'ür nur nach oben (up)
'a' für alle Richtungen erlaubt (all)
Winfried Kernbichler 2005-04-26