← Back to projects

What is the optimal shape of sofa?

Used tools and packages

Matlab Differential geometry Optimization Toolbox

Introduction

This project results from my interest in math. What is the largest area of region that can be moved through a ninety-degree corner in a hallway of unit width? - this problem called "the moving sofa problem" was formulated for the first time by Moser and till now has not been solved fully. The essence is to find such a shape of the maximum area that can be moved around a ninety-degree corner while a planar case is under consideration. The simplicity of the formulation of the problem, which allows anyone to understand it, and advanced calculation techniques used for analyses have retained the scientific interest of researchers until today. One of the first proposed solutions was a sofa built from circular arcs and straight lines, the area of which was AH=π/2+2/π=2.2074... . However, this solution was not optimal, as proved by Gerver, who proposed a sofa with the area AG=2.2195316688... constructed from 18 analytically defined curves. This solution was probably the optimum one, though it has not yet been proven globally. Here I give the method that may be used to analyze this problem and to construct proof that indeed Gerver sofa is the optimum one.

Sofa generation

Fixed coordinate system h was established, in which the region of hallway H = { ( x h , y h ) R 2 : y h | x h | + 2 y h | x h | } is bounded by two curves parametrised as r ¯ u ( h ) = [ x u ( h ) ( t u ) ,   y u ( h ) ( t u ) ] T and r ¯ l ( h ) = [ x l ( h ) ( t l ) ,   y l ( h ) ( t l ) ] T (Fig. below)

Hallway

Position vectors of the upper and lower boundaries of the hallway are expressed by:

r ¯ u ( h ) ( t u ) = [ x u ( h ) y u ( h ) ] = [ t u | t u | + 2 ] r ¯ l ( h ) ( t l ) = [ x l ( h ) y l ( h ) ] = [ t l | t l | ]

where tu i tl are the hallway's parameters. Moreover, coordinate system s connected with the sofa moves along the trajectory defined by a parametric curve in the form of r ¯ t ( h ) = [ x t ( h ) ( t t )   y t ( h ) ( t t ) ] T and rotates by φ ( t t ) , where tt is the parameter of the path of movement. In order to express the hallway's boundaries in the coordinate system connected with the sofa, we may use:

r ¯ u , l ( s ) = [ cos φ sin φ sin φ cos φ ] ( [ x u , l ( h ) y u , l ( h ) ] + [ x t ( h ) y t ( h ) ] )

where indexes u and l refer to the upper and lower boundaries of the hallway, respectively. This equation describes one parameter family of curves with parameter tt. After transformation, we obtain:

r ¯ u ( s ) = [ x u ( s ) y u ( s ) ] = [ cos φ ( x t ( h ) + x u ( h ) ) + sin φ ( y t ( h ) y u ( h ) ) sin φ ( x t ( h ) + x u ( h ) ) cos φ ( y t ( h ) y u ( h ) ) ] r ¯ l ( s ) = [ x l ( s ) y l ( s ) ] = [ cos φ ( x t ( h ) + x l ( h ) ) + sin φ ( y t ( h ) y l ( h ) ) sin φ ( x t ( h ) + x l ( h ) ) cos φ ( y t ( h ) y l ( h ) ) ]

The necessary condition for the existence of envelopes expressed as the perpendicularity of the vector normal and a derivative of the vector of a family of curves with respect to its parameter takes the form of:

f u ( t u , t t ) = x u ( s ) t t y u ( s ) t u x u ( s ) t u y u ( s ) t t = 0 f l ( t l , t t ) = x l ( s ) t t y l ( s ) t l x l ( s ) t l y l ( s ) t t = 0

calculating the partial derivatives and putting them into above equations, we arrive at the envelopes:

f u ( t u , t t ) = x t ( h ) t t ± y t ( h ) t t 2 φ t t 2 φ t t t u φ t t x t ( h ) ± φ t t y t ( h ) = 0 f l ( t l , t t ) = x t ( h ) t t ± y t ( h ) t t 2 φ t t t l φ t t x t ( h ) ± φ t t y t ( h ) = 0

wherein the upper sign stands for the right-hand side and the lower sign stands for the left-hand side. The solutions to above equations, with the assumption that φ / t t 0 , are:

t u = ± 1 2 φ t t ( x t ( h ) t t ± y t ( h ) t t 2 φ t t φ t t x t ( h ) + φ t t y t ( h ) ) t l = ± 1 2 φ t t ( x t ( h ) t t ± y t ( h ) t t φ t t x t ( h ) + φ t t y t ( h ) )

Taking into account the above results in family of curves, we obtain the envelopes of the consecutive positions of the hallway boundaries in the sofa's coordinate system:

r ¯ s u ( s ) ( t t ) = r ¯ u ( s ) ( t u ( t t ) , t t ) r ¯ s l ( s ) ( t t ) = r ¯ l ( s ) ( t l ( t t ) , t t )

The above equations stand while the derivatives r ¯ u ( h ) / t u and r ¯ l ( h ) / t l exist. Otherwise, as for point tu=0, the envelope can be represented by the curve defined as:

r ¯ s c u ( s ) ( t t ) = r ¯ u ( s ) ( t u = 0 , t t )

Assuming that the sofa's path of movement and angle of rotation are given in a discrete way as a set of points x t i ( h ) , y t i ( h ) and φ i , where i=1,2,...,n, and taking finite differences quotients instead of derivatives, solutions to envelope equations can be expressed as:

t u i = ± 1 2 Δ φ i ( Δ x t i ( h ) ± Δ y t i ( h ) 2 Δ φ i Δ φ i x t i ( h ) + Δ φ i y t i ( h ) ) t l i = ± 1 2 Δ φ i ( Δ x t i ( h ) ± Δ y t i ( h ) Δ φ i x t i ( h ) + Δ φ i y t i ( h ) )

The discrete representation of curves which bound the region of sofa are therefore established as:

r ¯ s u i ( s ) = [ x s u i ( s ) y s u i ( s ) ] = [ cos φ i ( x t i ( h ) + t u i ) + sin φ i ( y t i ( h ) ( ± t u i + 2 ) ) sin φ i ( x t i ( h ) + t u i ) cos φ i ( y t i ( h ) ( ± t u i + 2 ) ) ] r ¯ s l i ( s ) = [ x s l i ( s ) y s l i ( s ) ] = [ cos φ i ( x t i ( h ) + t l i ) + sin φ ( y t i ( h ) t l i ) sin φ i ( x t i ( h ) + t l i ) cos φ ( y t i ( h ) t l i ) ] r ¯ s c u i ( s ) = [ x s c u i ( s ) y s c u i ( s ) ] = [ x t i ( h ) cos φ i + sin φ i ( y t i ( h ) 2 ) x t i ( h ) sin φ i cos φ i ( y t i ( h ) 2 ) ]

Finally, it can be said that the region of sofa is S = { ( x s , y s ) R 2 : y s y s u i ( s ) y s y s l i ( s ) y s y s c u i ( s ) } , where it should be within the region limited by the initial and the final position of the hallway S B = { ( x s , y s ) R 2 : y s y u 1 ( s ) y s y u n ( s ) y s y l 1 ( s ) y s y l n ( s ) x s x l 1 ( s ) x s x l n ( s ) } , where:

y u 1 ( s ) = sin φ 1 ( x t 1 ( h ) + t u ) cos φ 1 ( y t 1 ( h ) ( | t u | + 2 ) ) , y u n ( s ) = sin φ n ( x t n ( h ) + t u ) cos φ n ( y t n ( h ) ( | t u | + 2 ) ) , x l 1 ( s ) = cos φ 1 ( x t 1 ( h ) + t l ) + sin φ 1 ( y t 1 ( h ) | t l | ) , y l 1 ( s ) = sin φ 1 ( x t 1 ( h ) + t l ) cos φ 1 ( y t 1 ( h ) | t l | ) , x l n ( s ) = cos φ n ( x t n ( h ) + t l ) + sin φ n ( y t n ( h ) | t l | ) , y l n ( s ) = sin φ n ( x t n ( h ) + t l ) cos φ n ( y t n ( h ) | t l | ) .

The shape of the sofa is obtained based on discrete curves bounding its region by means of standard curve intersection detection algorithms. The area of the sofa can be calculated as the area of a polygon with multiple numbers of sides; if the symmetrical case is considered in order to accelerate the calculations, they can be run for half of the sofa only.

Results

Gerver's sofa:

Gerver's sofa

Romik's ambidextrous sofa:

Gerver's sofa

Summary

Proposed method may be successfully used for generating sofas. Moreover, the method could be used for designing a mathematical model in which functions of the path of movement and the angle of rotation are obtained in order to maximise the sofa's area. Another potential application of the designed method is to prove that a truly optimal solution must be symmetrical. For that purpose, one can formulate a functional describing the area of the sofa and construct a proof that the extremum is only reached when the path of movement is symmetric and there is an odd parity of the angle of rotation (in other words, the sofa is symmetric). One can try to achieve this by undermining, on the basis of the above assumptions, the system of Euler equations, which is a necessary condition for the existence of an extremum. Nevertheless, the sofa with the maximum area is that proposed by Gerver; not only is it highly likely to be the optimal solution to the posed problem, but it is also possible to design a neat piece of furniture offering space for rather a large coffee table:

Optimal sofa design
← Back to projects   ↑ Back on top