Distributing elements
From TaskDepender
(→Design) |
(→Design) |
||
Line 31: | Line 31: | ||
[[Image:Distribute_step_3.png]] | [[Image:Distribute_step_3.png]] | ||
− | Assuming that the space between two adjacent elements is ''S'', then | + | Assuming that the space between two adjacent elements is ''S'', then the edge ''x<sub>i</sub>'' of certain element ''i'' must be positioned at: |
<math>x_i = s_{i-1} + w_{i-1} + S</math> | <math>x_i = s_{i-1} + w_{i-1} + S</math> | ||
with: | with: | ||
+ | * <math>s_{1} = x_{min}</math> | ||
+ | * <math>S = \displaystyle\frac{x_{max}-x_{min}-W}{N-1}</math> | ||
− | + | This means that the position of the element is given by: | |
+ | <math>X_i =x_i + w_i/2</math> | ||
− | + | Since the algorithm assumes the elements being ordered by position of the left edges, this additional step must be performed before running the described algorithm. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | < | + | The same algorithm can be used for distributing the elements vertically, in which case the equations are: |
− | + | ||
− | </ | + | <math>y_i = s_{i-1} + h_{i-1} + S</math> |
+ | |||
+ | with: | ||
+ | * <math>s_{1} = y_{min}</math> | ||
+ | * <math>S = \displaystyle\frac{y_{max}-y_{min}-H}{N-1}</math> | ||
+ | * <math>H = \displaystyle\sum_{i=1}^N h_i</math> | ||
+ | |||
+ | and the position of an element given by: | ||
+ | |||
+ | <math>Y_i =y_i + h_i/2</math> | ||
== Implementation == | == Implementation == |