



















[Autonomous Propagation of Melnikov Grammar using NITROS] 








This study extracts the basic design principles of Russian Architect Konstantin Melnikov's architecture and turns them into a set of geometric rules that are implemented in a computer program using AutoLisp and NITROS. By implementing collision detection methods and other constraints the grammar is able to propagate a zone in an autonomous way. This document shows both the grammar and the results of different experiments resulting from different constraints in the implementation of the program. 







[
Melnikov's Principles ] 

Melnikov's use of cylinders to articulate space is a salient feature of his architecture. Most of his designs were not built, but the house he built for himself stands as a summary of some of his design principles. The additive character of his architecture is very suitable for grammatical inquiry. 

[
Melnikov's House Lexicon ] 

A first detailed grammar for the house is developed. These are the component shapes of Melnikov's house, and the simplification of the architectural elements that led to the definition of the basic Melnikov lexicon. 

[
Melnikov's House Rules ] 

These elements can be organized in a finite number of ways, given by strict rules of transformation. These rules can be applied on the elements, allowing for the generation of Melnikovhouse like forms. An example of a derivation of the grammar will provide a variation on Melnikov's house while maintaining some essential features. 

[
New Approach / Synthesis ] 

Taking a broader sample of Melnikov's work, a larger repertoire of geometrical behaviors is visible, specifically, the existence of 120 degrees and 180 degrees connections between cylinders. Some detail in the architectural precision of the grammar is sacrificed in order to incorporate these new beahviors in a new simpler, and yet more open, grammar.
The additive process of Melnikov Architecture works can be rationalized. Above, 120 and 180 degrees addition of cylinders . 

[
Literal Types ] 

In order to implement this grammar in a computer program, I decide to combine the two main geometric principles of Melnikov's Architecture; the connection of cylinders divided in three and two sections respectively. This grammar takes distance from the specific resolution of the Melnikov House, to provide a set of rules and shapes that relate to Melnikov's architecture in a more general way. The geometric elements of this combination are strictly defined in Autolisp. 

[
Compound Types ] 

Once the literal types, or simpler elements are defined, the relationship between these must be equally defined. The compound Types, scripted in AutoLisp, define these relationships. 

[Rules of Transformation ] 

Each compound type can be transformed in a finite number of ways. These transformations typically substitute the compound for another element that in turn can be transformed in a finite number of ways. This way a grammar can have rules of termination, continuation, change, spreading, etc. These rules are implemented in AutoLisp using NITROS, a n Autocad plugin developed by Takehiko Nagakura. 


[
Collision Detection ] 

In order to allow the grammar to occupy a given space in an autonomous way, a set of NITROS functions are implemented to constrain the propagation of the elements to avoid overlapping and / or collisions. These functions evaluate the position of all shapes before performing a new transformation, and prevent it if the new element overlaps or touches an existing one. 

[
Examples of Melnikov Grammar in Action] 

1.
;Collision Detection: OFF
;Termination Rules: ON
;Spatial Constraints: OFF
;Geometry Type: 120 degrees
[Image]
[Code]
2. ;Collision Detection: ON
;Termination Rules: OFF
;Spatial Constraints: OFF
;Geometry Type: 120 and 180 degrees
[Image]
[Code]
3.
;Collision Detection: OFF
;Termination Rules: OFF
;Spatial Constraints: ON (Circle)
;Geometry Type: 120 degrees
[Image]
[Code]
4.
Melnikov City Example
;Collision Detection: ON
;Termination Rules: OFF
;Spatial Constraints: ON (Circle)
;Geometry Type: 120 and 180 degrees
[Image]
[Code]









