Wolfram Language
Paclet Repository
Community-contributed installable additions to the Wolfram Language
Primary Navigation
Categories
Cloud & Deployment
Core Language & Structure
Data Manipulation & Analysis
Engineering Data & Computation
External Interfaces & Connections
Financial Data & Computation
Geographic Data & Computation
Geometry
Graphs & Networks
Higher Mathematical Computation
Images
Knowledge Representation & Natural Language
Machine Learning
Notebook Documents & Presentation
Scientific and Medical Data & Computation
Social, Cultural & Linguistic Data
Strings & Text
Symbolic & Numeric Computation
System Operation & Setup
Time-Related Computation
User Interface Construction
Visualization & Graphics
Random Paclet
Alphabetical List
Using Paclets
Create a Paclet
Get Started
Download Definition Notebook
Learn More about
Wolfram Language
RectanglePacking
Guides
Rectangle Packing
Symbols
PackRectangles
RectanglePacker
JasonB`RectanglePacking`
R
e
c
t
a
n
g
l
e
P
a
c
k
e
r
R
e
c
t
a
n
g
l
e
P
a
c
k
e
r
[
b
o
u
n
d
i
n
g
b
o
x
]
c
r
e
a
t
e
s
a
m
u
t
a
b
l
e
d
a
t
a
s
t
r
u
c
t
u
r
e
i
n
t
o
w
h
i
c
h
r
e
c
t
a
n
g
l
e
s
c
a
n
b
e
p
a
c
k
e
d
.
R
e
c
t
a
n
g
l
e
P
a
c
k
e
r
[
b
o
u
n
d
i
n
g
b
o
x
,
m
e
t
h
o
d
]
u
s
e
s
t
h
e
g
i
v
e
n
m
e
t
h
o
d
t
o
p
a
c
k
r
e
c
t
a
n
g
l
e
s
.
D
e
t
a
i
l
s
a
n
d
O
p
t
i
o
n
s
Examples
(
3
)
Basic Examples
(
1
)
Create a mutable rectangle packing data structure:
I
n
[
1
]
:
=
r
e
c
t
p
=
R
e
c
t
a
n
g
l
e
P
a
c
k
e
r
[
{
2
0
0
,
1
0
0
}
]
O
u
t
[
1
]
=
R
e
c
t
a
n
g
l
e
P
a
c
k
e
r
D
i
m
e
n
s
i
o
n
s
:
{
2
0
0
,
1
0
0
}
O
c
c
u
p
a
n
c
y
:
0
.
P
a
c
k
e
d
:
0
M
e
t
h
o
d
:
M
a
x
R
e
c
t
a
n
g
l
e
s
A
l
l
o
w
F
l
i
p
s
:
T
r
u
e
F
r
e
e
C
h
o
i
c
e
H
e
u
r
i
s
t
i
c
:
B
e
s
t
A
r
e
a
F
i
t
Insert some rectangles:
I
n
[
2
]
:
=
r
e
c
t
p
[
"
I
n
s
e
r
t
"
,
R
a
n
d
o
m
I
n
t
e
g
e
r
[
{
4
,
1
8
}
,
{
6
0
,
2
}
]
]
/
/
S
h
o
r
t
O
u
t
[
2
]
/
/
S
h
o
r
t
=
{
{
{
3
1
,
0
}
,
{
4
3
,
1
4
}
}
,
{
{
4
3
,
2
4
}
,
{
5
7
,
2
9
}
}
,
5
7
,
{
{
5
5
,
9
2
}
,
{
6
4
,
9
8
}
}
}
Visualize the state of the packing object:
I
n
[
3
]
:
=
r
e
c
t
p
[
"
G
r
a
p
h
i
c
s
"
]
O
u
t
[
3
]
=
Add a fixed rectangle:
I
n
[
4
]
:
=
r
e
c
t
p
[
"
P
l
a
c
e
R
e
c
t
a
n
g
l
e
"
,
R
e
c
t
a
n
g
l
e
[
{
1
2
0
,
2
0
}
,
{
1
5
0
,
9
0
}
]
]
r
e
c
t
p
O
u
t
[
4
]
=
R
e
c
t
a
n
g
l
e
P
a
c
k
e
r
D
i
m
e
n
s
i
o
n
s
:
{
2
0
0
,
1
0
0
}
O
c
c
u
p
a
n
c
y
:
0
.
4
6
6
P
a
c
k
e
d
:
6
1
M
e
t
h
o
d
:
M
a
x
R
e
c
t
a
n
g
l
e
s
A
l
l
o
w
F
l
i
p
s
:
T
r
u
e
F
r
e
e
C
h
o
i
c
e
H
e
u
r
i
s
t
i
c
:
B
e
s
t
A
r
e
a
F
i
t
Add more rectangles:
I
n
[
5
]
:
=
r
e
c
t
p
[
"
I
n
s
e
r
t
"
,
R
a
n
d
o
m
I
n
t
e
g
e
r
[
{
4
,
1
8
}
,
{
6
0
,
2
}
]
]
;
r
e
c
t
p
[
"
G
r
a
p
h
i
c
s
"
]
O
u
t
[
5
]
=
Try to insert a rectangle that is too large to fit in the remaining space:
I
n
[
6
]
:
=
r
e
c
t
p
[
"
I
n
s
e
r
t
"
,
{
5
0
,
5
0
}
]
P
a
c
k
R
e
c
t
a
n
g
l
e
s
:
:
n
o
p
a
c
:
F
a
i
l
e
d
t
o
p
a
c
k
1
r
e
c
t
a
n
g
l
e
s
.
O
u
t
[
6
]
=
F
a
i
l
u
r
e
I
n
p
u
t
:
{
5
0
,
5
0
}
T
a
g
:
U
n
p
l
a
c
e
d
R
e
c
t
a
n
g
l
e
S
c
o
p
e
(
1
)
I
n
t
e
r
a
c
t
i
v
e
E
x
a
m
p
l
e
s
(
1
)
S
e
e
A
l
s
o
P
a
c
k
R
e
c
t
a
n
g
l
e
s
▪
R
e
c
t
a
n
g
l
e
R
e
l
a
t
e
d
G
u
i
d
e
s
▪
R
e
c
t
a
n
g
l
e
P
a
c
k
i
n
g
R
e
l
a
t
e
d
L
i
n
k
s
R
e
c
t
a
n
g
l
e
B
i
n
P
a
c
k
l
i
b
r
a
r
y
,
▪
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
j
u
j
/
R
e
c
t
a
n
g
l
e
B
i
n
P
a
c
k
A
t
h
o
u
s
a
n
d
w
a
y
s
t
o
p
a
c
k
t
h
e
b
i
n
-
a
p
r
a
c
t
i
c
a
l
a
p
p
r
o
a
c
h
t
o
t
w
o
-
d
i
m
e
n
s
i
o
n
a
l
r
e
c
t
a
n
g
l
e
b
i
n
p
a
c
k
i
n
g
.
J
u
k
k
a
J
y
l
ä
n
k
i
.
2
0
1
0
.
▪
[
m
o
r
e
i
n
f
o
]
"
"