Half filling cells for vertical edges

The gallery has significant orthogonal geometry, including most walls of galleries, all of which is ordered and set out on the triagrid.

To allow for vertical edges I have added a cell half filled state which can render/fill just half the cell. Each cell can have 3 half states - left, right or both/neither.

After each growth cycle, any cells that are not on and have just 1 edge neighbour, are checked to see if that neighbour is left or right or up or down, and if left or right then the half state is changed accordingly. Any cells that no longer meet the criteria for half filling are checked for and their half state changed back accordingly.

There are some limitations with this approach - a half filled cell is not actually 'on' and not added to the list of on cells, therefore being effectively outside overall volume control of forms.

There could be more restrictions on when to half fill, such as where 2 cells with adjoining edges above and below are both half filled but one is the left half and the other is the right half, it may be preferable to have neither half filled, as it may be preferable to have a continuous diagonal edges rather than stepped forms.

Growth could be prioritised to continue edges of adjacent cells - this would be back to a similar logic of growing lines.

In the following series each iteration was set to grow until 20 cells, however as before in some cases growth this far was not possible. There is no culling in these series. Highlighting with a green border refers to 'gaps' where a cell has more than 1 edge neighbour and is below the max neighbourcount, but cannot be grown into because the neighbourcounts of adjacent cells would be pushed over the max.

The first series is allowing growth to any neighbour with a shared edge or corner.

Set of max neighbourcount = 11:



Set of max neighbourcount = 10:



Set of max neighbourcount = 9



Set of max neighbourcount = 8:



Set of max neighbourcount = 7:



Set of max neighbourcount = 6:



Set of max neighbourcount = 5:



Set of max neighbourcount = 4:



The following is the series using highest counts of neighbours with shared edges to determine growth, which is still restricted by varying max counts of all 12 neighbours.

Set of max neighbourcount = 10:



Set of max neighbourcount = 9



Set of max neighbourcount = 8:



Set of max neighbourcount = 7:



Set of max neighbourcount = 6:



Set of max neighbourcount = 5:



Set of max neighbourcount = 4:


No comments:

Post a Comment