Bookshelf or playground for cats...

In the living room, usually the sofa faces the tv. A large fancy screen, which stand on top of an anonymous piece of furniture.

What if this piece of furniture could be used not just to host stuff and tv but as well as a playgroud for cats?

To develop this concept I wanted to use Grasshopper, a plug in for rhino which allows you to customize your parameters.

Just changing a number in the settings, the bookcase can grow both horizontally and vertically.
The design is based on a square grid 400x400 mm which can also be scaled up or down.

The depth and the thickness of each component is affected by this drawing in black and white which is inspired by the trajectory of a cat's jump.

The variations in depth allow the cat to climb the bookcase and reach gradually the top and they are affected by the same black and white drawing. 

I copied the algorithm and I applied a rotation of 90 degrees. I decreased the number of columns to fit the bookshelf in the room. The same black and white image affects this second part, but after changing some parameters, it looks easily different.  

Each element is independent and it is made of polystyrene high density which is a material that can be 3D printed or can be sculpted using a CNC machine.
Due to the geometry of the bookshelf, the CNC technique is better.

The components are connected by an element of the back, shaped as cross and 50 mm long.

Here are some samples of design pieces realized with polystyrene high density.

I decided to keep the design as simple as possible, then it would be easier to store objects in the bookshelf. 
Grasshopper is a great tool, but sometimes designers are going to far with the craziness of the shapes.  

What I wanted to achieve is something different. 
Grasshopper has been used to optimize the design. 

Maybe the thickness of the material is too thin? changing the parameter of the minimum thickness all the design would be affected.
Or there is need to have more columns? changing another parameter would make the job, without arbitrarily copying or scaling, everything is following the same logic which is in the algorithm.