Furniture Dimensions Explained
What length, width and height mean geometrically, how an axis-aligned bounding box is derived from a 3×3 rotation matrix, and why projected width is not the number on the specification sheet.
- Published
- Updated
- Calculation version
- 2.0.0
- Maintenance
- These pages are maintained together with the calculation engine in this repository. A change to the geometry or verdict logic requires the published method statement and its automated checks to be updated in the same change. There is no separately credited editorial team and no external reviewer.
The question
What do length, width and height actually mean in a fit calculation, and why can the projected width of a rotated box differ from any single dimension printed on a product page?
Short answer
Length, width and height are the three extents of a box along the object’s OWN axes. The doorway, however, sees a silhouette along the WORLD axes. When the object is rotated, the engine takes the absolute value of the rotation matrix to get a new axis-aligned bounding box; for the six axis-aligned poses it tests, the projected width is simply one of the three extents — just not necessarily the one labelled “width”. That is why a 1200 mm wide wardrobe can present a smaller face to the opening after a pose change.
Why this happens
Object axes versus world axes
A furniture dimension is measured relative to the object: length is front-to-back, width is left-to-right, height is floor-to-top. Rotate the whole object and those three numbers do not change — the physical box is identical.
A doorway is fixed in the world. What it measures is the horizontal and vertical extent of the object’s silhouette at the moment it crosses the plane. That silhouette depends on orientation, so it is a different kind of quantity from the three object dimensions.
Where projected width comes from
Version one builds each pose as a real 3×3 rotation matrix R = Rz · Ry · Rx, then computes the bounding-box extents as |R| · h, where h is the vector of the three object extents and |R| takes element-wise absolute values.
For a ninety-degree rotation the matrix contains only zeros and ones, so |R| · h is just a permutation of length, width and height. There is no interpolation and no continuous angle search: the six tested poses are the six axis-aligned permutations that matter for a rectangular box.
What the bounding box deliberately throws away
Curved arms, tapered backs, legs, handles and soft cushions are all approximated by one rectangular solid described by the measured outer extents. This is declared as BOUNDING_BOX_ONLY in the engine’s limitations, not hidden behind a confident-looking verdict.
The advantage is reproducibility: the same three numbers always produce the same box, the same comparison table and the same 3D scene. The cost is that an object which is not box-shaped may be described pessimistically. Measuring the outer extents of the state you will actually move keeps that error on the safe side.
Step by step
- 01
Write the three extents against the object’s own axes
Stand in front of the object. Record front-to-back as length, left-to-right as width, floor-to-top as height. Do this before thinking about the door, so the numbers cannot be silently reordered to fit a hoped-for result.
- 02
Identify which two extents face the doorway in each pose
For an upright pose it is usually width and height. For a side pose it may be height and width swapped. List the pairs; this is the entire set of silhouettes version one can test.
- 03
Compare each pair with the clear opening
For each pose, subtract the projected width from the clear width and the projected height from the clear height. Both need to be non-negative in the SAME pose.
- 04
Repeat for the room volume, then check for one shared pose
A pose that clears the door but fails the room is not a complete solution. The engine records a joint pose matrix and reports whether any single pose satisfies both checks.
Worked example: a tall wardrobe at a 900 mm opening
A wardrobe measures 600 mm long (depth), 1200 mm wide and 2000 mm high. The doorway clears 900 mm by 2100 mm with a 200 mm frame; the room is 3000 × 4000 × 2700 mm. The upright pose is selected and no extra clearance is requested. These are inputs. The table below is the engine’s live result, including which pose it recommends.
Input data
| Item | Wardrobe |
|---|---|
| Length | 600 mm |
| Width | 1200 mm |
| Height | 2000 mm |
| Clear width | 900 mm |
| Clear height | 2100 mm |
| Frame depth | 200 mm |
| Room width | 3000 mm |
| Room length | 4000 mm |
| Room height | 2700 mm |
| Extra clearance | 0 mm |
| Selected pose | Upright |
Calculation process
- 01In the upright pose the silhouette presented to the doorway uses the 1200 mm width, which exceeds the 900 mm clear opening. On a plain spec-sheet comparison this is where a single-number answer would stop.
- 02Changing the pose permutes the three extents: a different one of 600, 1200 and 2000 becomes the projected width, and a different one becomes the projected height. The engine evaluates all six permutations for the door section and, separately, for the room volume.
- 03The joint pose matrix then decides whether any single pose satisfies both. The status and the recommended pose shown below are read directly from that matrix; the negative width remainder belongs to the selected upright pose, not to the recommendation.
Engine result, computed live
Every value in this table is produced at render time by the same engine that powers the calculator. The article supplies inputs only.
- Overall status
- CONDITIONAL
The geometry is not definitively clear. A local check needs a different posture, a blocking limitation applies, or no single posture satisfies both checks.
- Recommended pose
- On side · quarter turn
| Comparison | Required | Available | Remaining |
|---|---|---|---|
| Doorway clear width | 1200 | 900 | -300 |
| Doorway clear height | 2000 | 2100 | 100 |
| Room width | 1200 | 3000 | 1800 |
| Room length | 600 | 4000 | 3400 |
| Room height | 2000 | 2700 | 700 |
- DOORWAY_REQUIRES_POSE_CHANGE
- ROOM_FIT_PASS
Calculation version 2.0.0
Applicable range
Rectangular solids, six axis-aligned poses, one doorway section and one rectangular room volume.
Limits of this example
- No continuous-angle search. A diagonal tilt is neither tested nor proven impossible.
- The object is one bounding box; decorative protrusions and soft compression are not modelled.
- The 2000 mm height leaves little headroom in a 2100 mm opening in some poses, which is exactly the kind of trade-off the joint matrix exposes.
- Door leaves, frame-depth rotation and the moving route are not modelled.
Formulas used
Pose rotation
R = Rz · Ry · Rx
Each of the six tested poses is an explicit 3×3 rotation matrix, not a visual trick.
Bounding-box extents
h_box = |R| · h
Element-wise absolute value of R times the object extents. For axis-aligned poses the result is a permutation of (length, width, height).
Silhouette comparison
W_box = h_box,x H_box = h_box,y
The doorway section compares these two values with the clear width and clear height in the same pose.
Scope and limits
- BOUNDING_BOX_ONLY: one rectangular box represents the whole object.
- AXIS_ALIGNED_POSES_ONLY: exactly six poses, no continuous rotation.
- SECTION_ONLY for the doorway and STATIC_VOLUME_ONLY for the room; no path is modelled.
- A zero remainder counts as touching, not as a collision.
- Missing or invalid input returns a structured failure instead of a plausible geometric result.
Common mistakes
Treating “width” as a permanent property of the silhouette
Width is a property of the object’s own axes. Once rotated, the doorway may be looking at what used to be the height or the length.
Assuming a tilt is always available
Version one only tests axis-aligned poses. A real mover may succeed with a diagonal tilt, but the tool will not claim it.
Comparing door and room in different poses
The engine requires ONE pose that satisfies both. Two different successful poses do not add up to a solution.
Reading the bounding box as a scan of the furniture
It is a conservative rectangular approximation. Handles, crown moulding and soft corners are inside the measured extents, not separately modelled.
Run the fit calculator
The calculator makes these concepts visible: change the pose and watch the comparison table permute the same three extents, while the result panel shows whether a single pose satisfies both the doorway and the room. The 3D view uses the same geometry source, so the scene never disagrees with the numbers.
Enter your own furniture, doorway and room dimensions to see the same comparisons for a real case.
Open the calculator