The re-initialisation process aims to reconstruct the LSF as a signed-distance function of the isosurface (Figure 4-19). The value of this function represents the shortest distance between each LSF grid point and the triangulated isosurface (Figure 4-19a). Each value also comes with a sign, which indicates what material phase the domain is in (Figure 4-19b, positive value for solid and negative value for void/fluid). The original LSF is used as the main input variable, along with the model size and distance limit as optional inputs. This re-initialisation is a two-part calculation process: the first part determines the actual shortest distance and the second part approximates the shortest distance. A special distance parameter (π0) is used in
this study to decide which LSF grid points undergo the first part of calculation, based on how far they are from the current isosurface. The rest of LSF is reconstructed through a distance approximation technique that will be explained later on.
(a) l1 is the shortest distance (b) The shortest-distance in matrix form
(3) The idealistic signed distance function Figure 4-19. Exemplar construction of signed distance function and its matrix form. The signed distance function (SDF) has two components, the sign and the magnitude. The magnitude is determined first, then signs are assigned. The SDF calculation checks one isosurface triangle at a time, and calculates the shortest distance (π1) between the triangle and all of its surrounding LSF grid points. The distance value is only recorded if π1 β€ π0. The shortest distance between a grid point and all isosurface triangles is not known until all triangles are checked. Each point of the output SDF has the same sign as its input LSF.
133
4.3.4.1 Calculate the shortest distance: actual
In this study, only grid points that are within 3 grid-spaces away will be considered in the actual calculation of the actual shortest distance (π0 = 3). This program starts by assigning a very large value to every SDF matrix entry (Figure 4-20, left). As the program processes the isosurface model triangle by triangle, each iteration produces new distance values for all surrounding grid points (Figure 4-20, middle). If smaller values are found, the SDF values are updated. The initial value must be sufficiently large, at least be as large as the length of two furthest points in the model, so that SDF update takes place correctly. The SDF function is finalised when all discrete isosurface components are considered (Figure 4-20, right).
Figure 4-20. Exemplar construction of the actual SDF. Red values indicate updated entries and grey values indicated ignored entries.
To calculate the shortest distance between a point and a triangular plate in a 3D space, the relative normal position of the point to the triangle is firstly determined. There are seven possible positions as shown in the following figure (Figure 4-21):
134 Projection of a point on the n-tβ-tββ plane
where the triangle resides
Seven possible relative positions on the n-tβ- tββ plane
Figure 4-21. Relative position of a point to a triangle in 3D space.
When point P is projected perpendicularly onto the 3D plane where the triangular surface resides, this point can be either in the triangle (+++), or in one of the βedge zonesβ (β++, +β+ and ++β), or in one of the βvertex zonesβ (+ββ, β+β, and ββ+). The shortest distance is its perpendicular distance to the face (P2), to one of the edges (P1) or to one of the vertices (P3),
respectively, as illustrated in the next figure (Figure 4-22):
Figure 4-22. The shortest distance between point P and the triangle. The red lines are the shortest paths between individual points and the triangle in 3D space.
135
4.3.4.1.1 Face zone (+++)
The projection of a point (P2) in a triangle can be defined in relation to the three vertices of
the triangle. As shown the following figure, an imaginary plane (Plane AB) containing the line AB and being perpendicular to the triangle ABC is created (Figure 4-23):
Figure 4-23. Relative position of a point to edges of a triangle.
If points P and C are on the same side of the plane (right-hand side), then the following condition must have been satisfied:
(π΄π΅βββββ Γ π΅πΆβββββ ) β (π΄π΅βββββ Γ π΅πβββββ ) β₯ 0
In other words, the surface normals of the triangles ABC and ABPβ (Pβ is the projection of P) must be pointing in the same direction. Otherwise, if (π΄π΅βββββ Γ π΅πΆβββββ ) β (π΄π΅βββββ Γ π΅πβββββ ) < 0, points P and C must be on the opposite sides of the plane. If the dot product is zero, the point P must be directly above or below the edge AB. Similarly, if
(π΅πΆβββββ Γ πΆπ΄βββββ ) β (π΅πΆβββββ Γ πΆπβββββ ) β₯ 0 (πΆπ΄βββββ Γ π΄π΅βββββ ) β (πΆπ΄βββββ Γ π΄πβββββ ) β₯ 0
then points P and A are on the same side of the BC plane, and points P and B are on the same side of the CA plane, respectively. Satisfying all three conditions means that point P is directly above or below the triangle ABC, thus its projection is within the triangle ABC. The shortest distance, ππ, can then be found using the following formula:
136 ππ = |π΄πβββββ β
π΄π΅ βββββ Γ π΅πΆβββββ
|π΄π΅βββββ Γ π΅πΆβββββ || = |π΄πβββββ β πΜ| π΄π΅πΆ
where πΜ is the surface normal of the triangle ABC. ππ΄π΅πΆ Μ is a unit vector. π΄π΅πΆ
4.3.4.1.2 Edge zones (β++, +β+ and ++β)
Consider three projections, P1, P2 and P3, in the following figure (Figure 4-24):
Figure 4-24. Relative position of a point to vertices of a triangle.
Only the projection of P2 is in the zone of edge-AB. Mathematically, a point P in the edge
zone AB must satisfy the following condition:
0 β€ π΄πβββββ β πΜ β€ |π΄π΅π΄π΅ βββββ |
where πΜ is the unit vector of edge AB. The shortest distance is calculated from the formula: π΄π΅ ππ = π2π· = |π΄πβββββ Γ πΜ |. π΄π΅
If the point P is not in the zone edge of π΄π΅βββββ , this process is repeated to check if P falls into the edge zones of π΅πβββββ or πΆπβββββ . In those cases, ππ = |π΅πβββββ Γ πΜ | and ππ΅πΆ π = |πΆπβββββ Γ πΜ | , πΆπ΄ respectively.
4.3.4.1.3 Vertex zones (+ββ, β+β, and ββ+)
If the point P fails to satisfy any of the above conditions, then its closest point to the triangle must be one of the vertices, A, B or C:
137
ππ = min (|π΄πβββββ |, |π΅πβββββ |, |πΆπβββββ |).
4.3.4.2 Calculate the shortest distance: estimated
Once the calculation of actual shortest distance is completed, the rest of the SDF matrix is flood-filled with the estimated shortest distance. The SDF entries found earlier are used as the starting point of an iterative flood-filling process. To mimic the characteristic of a distance function, the values have to increase or decrease gradually according to their relative distance to the isosurface, as illustrated below (Figure 4-25).
Figure 4-25. Approximation of the shortest distance by flood-fill.
In this process, the SDF matrix is filled layer by layer, where each layer is the von Neumann neighbourhood of the filled SDF. In each step one layer of empty matrix entries is produced by taking average of its neighbouring entries (grey blocks), and a βdistance value,β βπ (blue values in the figure) is added to every entry. βπ may have three different values depending on the existence and positions of its pre-filled neighbours. Some graphical examples of the distance value, βπ, are shown below (Figure 4-26):
138
Having a pre-filled neighbour in the cell(s) β¦
βπ = βNorthβ or βSouthβ βEastβ or βWestβ βTopβ or βBottomβ
Yes No No 1 No Yes No 1 No No Yes 1 Yes Yes No 1/β2 Yes No Yes 1/β2 No Yes Yes 1/β2
Yes Yes Yes 1/β3
Figure 4-26. Graphical illustration of the determination of βdistance value,β βπ. 4.4 Results and discussion
The structure and pore connectivity of tissue scaffolds are the key determinants of their elastic properties and nutrient transportation efficiency. These material properties subsequently affect cell survival and proliferation. To improve the environment for cell survival and proliferation, topology optimisation of the microstructure of tissue scaffolds was performed. This part of study aimed to configure the micro-architecture of tissue scaffolds based on various design criteria, and to determine the best possible living conditions for cells in topological terms. The level set method and isosurface modelling technique were chosen for this task.