A Procedure for Generating Floor Plans - Computer Aided Design

CONVERTING THE POLYOMINO INTO A DIMENSIONED MAP WITH ELEMENTS OF UNIQUE PROPORTIONS AND SIZES

"r" value and Distance matrix
The client is now asked not only to produce a grouping of preferences but also to produce information regarding the proportion of each element. I will use modules of 3 feet. (i.e., if a unit reads 1 x 1 it actually measures 3'-0" by 3'-0")
In the example above for unit 1     a=3   b=3
                              2     a=1   b=2
                              3     a=2   b=2
                              4     a=4   b=6
                              5     a=3   b=4
                              6     a=4   b=4
In order to draw a dimensional map two basic things need to be established. 'r' value and Distance matrix.
. In building the polyomino we first introduced the Behavioral matrix. B(i,]) presented the "desired distance" between the centroids to equal cells of dimensions 1 x 1 (i and J).
It becomes clear that we do not need to define again a Link Value List. The order of adding elements is already established. Using the B matrix for the purpose of comparing "actual" distances to "desired" distances, as done with the polyomino, is no more possible either.
Given the proportion and the "size" of each element an additional matrix "Distance" is built in which both the desired preferences and sizes are represented. Following the same philosophy, here, we shall always calculate the distance between elements in a proposed layout and compare these Sub matrix elements to the desired distance matrix elements. The lowest difference will again approximate the "best" layout.


We take as an example the case of 2 elements of sizes 1 x 2 and 2 x 3. Shown in figure 26 are their possible arrangements "equivalent" to B(i,j)=1.0. For the cases shown in this figure D(i,j), which presents the distance between the centroids of elements i and j, can be defined as follows: . The number of possible r's vary with the size (or proportion) of elements. I found the best representation of to be as follows:

As long as B(i,j)<2. i.e., no element separates the elements i and j then .
The question which remains now is, how to define the 'desired' D(i,j) for cases in which the 'desired' B(i,j) = 2. (i.e., the two elements are separated by a third one). In the case of polyominoes, since all the cells are of equal size we know that the one separating cell between i and j can be only of one size which is known to us. Therefore for cases in which the 'desired' B(i,j)>=2 we can no more define as the desired distance. It is rather . This "something' is twice the r of the number of rooms separating i and j. One room if 2<=B(i,j)<=3.

Which single room will actually be between i and j is not known appriori. With the aid of B(i,j), however, we are able to evaluate the likelihood of any cell (room) for "occupying" this vacancy, which evidently has to do with the actual size of that cell. Call the considered cell (room) k. We have B(i,j)=2 if B(i,k)=1 and B(j,k)=1.4 as demonstrated in figure 27. This means that it is likely that k will be placed between i and j.

If, however, B(j,k)>B(i,j) (for example 2.2)than figure 28 looks more like a possibility. i.e., there is a very low chance of k coming in between i and j. It will be placed in a position further away from j than the position of i. In other words, as long as B(i,j) >=B(i,k) and B(i,j)>=B(j,k) k can be considered as a possible separating element.

We can expect more than one element to he considered for this purpose, therefore, the average of their r is taken where the sum is taken only over the M elements B(i,j)>=B(i,k) and B(i,j)>=B(j,k) holds.

If one element could be separating i and j as in the case of B(i,j)=2 or 2.2 etc., we have to take into account 2 x r's. If P elements are separating the distance between the centroids of i and j is; where P=ifix(B(i,j))-1. This can be seen in the examples in figure 29a. For B(i,j)S2, 2.2, 2.8 there is only one element separating.

When two elements separate I and j B(i,j) = 3, 3.2, etc


We can say, then, that there are two formulas for calculating the Distance Matrix elements in which D(i,j) presents the desired distance between the elements (or rooms) i and j.

is an average 'radius' r parameter associated with each cell and;
  1. if B(i,j) >=2 we have
    multiplied by .
    The sum is over for which B(i,j)>=B(i,k) and B(i,j)>=B(j,k) and M is the number of r's taken into the average.
  2. when B(i,j)<2. we have .
We obtain the following Matrix
                    0.00  2.49  3.95  4.46  5.90  7.81
                          0.00  5.31  3.56  5.57  6.78
           D =                  0.00  7.06  3.08  4.74
                                      0.00  7.66  8.41
                                            0.00  7.40
                                                  0.00

Having B, Link Value List and D we are now all set to construct the desired layout.

Where to?

[ Next | or | Article Index | or | Publications List | or | Hanna Shapira's Home Page ]