using cellular automata to model mean ......using cellular automata to model mean curvature flow dr....

16
USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution and geometric properties of curves in the plane using cellular automata. We develop algorithms that determine the discrete local geometric properties for closed curves and evolve curves in a way that imitates mean curvature flow. We also apply algorithms to simulate mean curvature flow with embedded obstacles. Along the way we prove that the curvature can be calculated as a proportion of areas bordered by the curve within a circular neighborhood. This theoretical concept supports the computations done in the discrete setting. 1. Introduction Many computer scientists and fellow nerds have spent hours toying away with John Conway’s Game of Life. This entertaining idea is a two–dimensional implementation of cellular automata - a concept developed at Los Alamos where John von Neumann was investigating self–replicating robots. Initial – successful – implementations of the concept included tracking liquid motions. The list of real world applications of cellular automata is still expanding. Formally, a cellular automaton contains two basic building blocks. First, we have a finite dimensional grid of cells – such as an integer lattice – with each cell storing a particular state (‘on’ or ‘off’, for example). The second component of a cellular automaton is a set of rules governing the evolution of these states. Typically, these rules are based on local conditions of neighboring cells, and the rules themselves global and are unchanging. After a given initial configuration, the system is left to update the states of all cells in the grid over the course of several generations. Our research attempts to apply cellular automata to model the evolution of one– dimensional closed curves via mean curvature flow. We also analyze discrepancies between the continuous and discrete settings along the way. The mean curvature flow is one of the primary geometric evolution equations studied historically, thus, there is a lot of information we can utilize in these comparative endeavors. In the continuous setting, where one can represent a curve via an appropriate vector parametrization, the curvature is given with respect to derivatives of the curve itself. However, upon representing the curve in a discrete grid, one is limited to representing a curve via a connected collection of (two–dimensional) regions. Thus, the first hurdle we address in our research is computing the mean curvature at a point of a curve given only access to this regional information. 1

Upload: others

Post on 05-Aug-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

USING CELLULAR AUTOMATA TO MODEL MEAN CURVATUREFLOW

DR. LECRONE, B. SMITH, S. ZERGER

Abstract. In this article, we study the evolution and geometric properties ofcurves in the plane using cellular automata. We develop algorithms that determinethe discrete local geometric properties for closed curves and evolve curves in away that imitates mean curvature flow. We also apply algorithms to simulate meancurvature flow with embedded obstacles. Along the way we prove that the curvaturecan be calculated as a proportion of areas bordered by the curve within a circularneighborhood. This theoretical concept supports the computations done in thediscrete setting.

1. Introduction

Many computer scientists and fellow nerds have spent hours toying away with JohnConway’s Game of Life. This entertaining idea is a two–dimensional implementationof cellular automata - a concept developed at Los Alamos where John von Neumannwas investigating self–replicating robots. Initial – successful – implementations ofthe concept included tracking liquid motions. The list of real world applications ofcellular automata is still expanding.

Formally, a cellular automaton contains two basic building blocks. First, we havea finite dimensional grid of cells – such as an integer lattice – with each cell storinga particular state (‘on’ or ‘off’, for example). The second component of a cellularautomaton is a set of rules governing the evolution of these states. Typically, theserules are based on local conditions of neighboring cells, and the rules themselves globaland are unchanging. After a given initial configuration, the system is left to updatethe states of all cells in the grid over the course of several generations.

Our research attempts to apply cellular automata to model the evolution of one–dimensional closed curves via mean curvature flow. We also analyze discrepanciesbetween the continuous and discrete settings along the way. The mean curvatureflow is one of the primary geometric evolution equations studied historically, thus,there is a lot of information we can utilize in these comparative endeavors.

In the continuous setting, where one can represent a curve via an appropriate vectorparametrization, the curvature is given with respect to derivatives of the curve itself.However, upon representing the curve in a discrete grid, one is limited to representinga curve via a connected collection of (two–dimensional) regions. Thus, the first hurdlewe address in our research is computing the mean curvature at a point of a curve givenonly access to this regional information.

1

Page 2: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

2 DR. LECRONE, B. SMITH, S. ZERGER

Following an idea of Bullard, Garboczi, et al. [1], we derive a method for comput-ing curvature of a curve by using local densities of ‘inner’ and ‘outer’ regions withincircular neighborhoods centered on interface points. In Section 2, we show that thismethod is precise in the continuous setting, by taking limits of relevant densitieswithin template circles as radii shrink to zero. This limiting behavior justifies appli-cation of a similar technique for approximation of curvature in the discrete settingvia template circles. See Section 3.

After developing methods for accurately approximating curvature in the discretesetting, we establish the rules governing the evolution of our cellular automaton whichwill mimic motion via mean curvature flow in Section 4. We conclude the paperwith possible topics for future investigation, particularly investigating the relationshipbetween our generational evolution and time–dependent models accounting for normalvelocity.

2. Theoretical Justification for Local Geometric Approximations

The mean curvature of a curve is the rate of change of the unit tangent vectoris changing with respect to arc length. Given a curve Γ, with a parametrizationγ : R→ R2, the curvature of Γ at a point ~x0 = γ(t0) is given by the formula

HΓ(~x0) = ±||γ′(t0)× γ′′(t0)||||γ′(t0)||3

,

where the sign is determined if one fixes an orientation on the curve. Meanwhile, ifΓ = graph(f) for a known function f , the curvature takes the form

HΓ(~x0) =−f ′′(x)

(1 + f ′(x)2)32

, where ~x0 = (x, f(x)).

We show that the mean curvature of a point on a closed simple curve in R2 canbe calculated by using local densities within template circles so that we can utilizethis later on the discrete level. By focusing on local neighborhoods of the curve, andapplying appropriate Euclidean motions, we arrive at a representation of the curveas the graph of a usable function.

For our generic setting, let Γ ⊂ R2 be a closed simple curve that is twice differen-tiable. Because the curve is simple, we have a non-self intersecting parametrizationγ : [−1, 1]→ R2. Γ closed means that γ(−1) = γ(1). Since Γ is a twice differentiablecurve, γ ∈ C2([−1, 1]), i.e. γ, γ′, γ′′ are all continuous on [-1,1]. Moreover, we fix anorientation of outward facing normal vectors on Γ.

We want to show that H(~x0) can be computed using local area measures, for any~x0 ∈ Γ. So, fix x0 = γ(t0) ∈ Γ and apply appropriate Euclidean motions so thatΓ = graph(f) locally, where f satisfies the following conditions: (see Figure 2 below)

f ∈ C2, f(0) = 0, and f ′(x0) = 0.

Note that these conditions imply the unit normal vector ~n =(

01

)at 0 and the curvature

HΓ(x0) takes a simple form with respect to the function f. Namely,

(1) HΓ(~x0) = −f ′′(0).

Page 3: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW 3

Associated to this function f, we denote the quadratic approximation q(x) to f ,about x = 0. We use this quadratic approximation to help establish the result statedin the following theorem regarding the computation of curvature using template circlesof varying radius δ. We allow the size of the circles to go to zero in the continuoussetting, arriving at better approximations to the local geometry. By contrast, andsomewhat countintuitively, we note that circles in the discrete setting may sometimesproduce better approximations by using larger radii.

Γ

γ(t)

γ ′(t)

n

f ′(0) = 0

f(0) = 0

n

Figure 1. Any smooth, simple closed curve in R2 can be rotated andtranslated so that the point of interest is centered at the origin with anupward normal direction.

Let Af denote the area above the function while Aq will be the area above thequadratic approximation. More precisely,

Af := {(x, y) | y > f(x)}, and

Aq := {(x, y) | y > q(x)}.Let Bδ(0) = {(x, y) | x2 + y2 < δ2} be the ball of radius δ centered around 0. Our

quadratic approximation is simply q(x) = 12f ′′(0)x2 at x = 0 since f ′(0) = f(0) = 0,

by assumption. Lastly, denote

Af,δ := |Bδ(0) ∩ Af | −1

2|Bδ(0)|, and

Aq,δ := |Bδ(0) ∩ Aq| −1

2|Bδ(0)|.

These values will yield the mean curvature as δ → 0 in a way made precise in thestatement of Theorem 1. When f ′′(0) > 0, then H < 0. For small enough δ > 0, wecan thus use Af,δ to approximate HΓ(x0). See Figure 2, for instance.

Theorem 1. The curvature at a point ~x0 on a closed, simple curve Γ ∈ C2 can becalculated as

limδ→0+

Af,δδ3

3

= H(~x0).

Page 4: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

4 DR. LECRONE, B. SMITH, S. ZERGER

Bδ(0) ∩ Af

δ

Γ = graph(f)

Af,δ

Bδ(0) ∩ Aq

δ

q(x)

Aq,δ

Figure 2. The figure on the left shows the local behavior from oursimple closed curve in Figure 1. The figure on the right shows that thelocal behavior of the quadratic approximation is set up similarly.

Proof. We first show the result using the area above q(x), Aq,δ, then we justify whythis also gives the result with Af,δ regions.

Claim 1: limδ→0+

Aq,δδ3

3

= HΓ(~x0).

Let a := |f ′′(0)| and δ > 0. Let x∗ be the positive point of intersection of Bδ(0)

and q(x). Then x∗ =√

2a

√√a2δ2 + 1− 1, and

Aq,δ =

−2∫ x∗

012ax2 dx− 2

∫ δx∗

√δ2 − x2 dx, f ′′(0) > 0,

2∫ x∗

012ax2 dx+ 2

∫ δx∗

√δ2 − x2 dx, f ′′(0) < 0,

0, f ′′(0) = 0.

Examining the case f ′′(0) < 0 more closely, we compute

Aq,δ =

√2

3

3a2

(√a2δ2

√a2δ2 + 1 + 1

)3

+πδ2

2−√

2

a

√a4δ6

(√a2δ2 + 1 + 1)

3

− δ2sin−1

(√2

√a2δ2

√a2δ2 + 1 + 1

)

Dividing by δ3

3, we have

Page 5: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW 5

Aq,δδ3

3

=

√2

3

a2

(√a2

√a2δ2 + 1 + 1

)3

+3π

2δ− 3

√2a

(√a2δ2 + 1 + 1)

32

− 3

δsin−1

(√2√

a2δ2 + 1 + 1

)A similar calculation follows when f ′′(0) > 0. Thus, taking the limit, we get

limδ→0

Aq,δδ3

3

=

−a, f ′′(0) > 0,a, f ′′(0) < 0,0, f ′′(0) = 0.

Recall that a = |f ′′(0)|. Therefore, limδ→0Aq,δδ3

3

= −f ′′(0), which is precisely the cur-

vature H(~x0) as stated in (1) above.

Claim 2: limδ→0+

Af,δ − Aq,δδ3

3

= 0.

By definition of absolute value, Af,δ − Aq,δ ≤ |Af,δ − Aq,δ|. Then, overestimating

|Af,δ − Aq,δ| ≤∫ δ

−δ|f(x)− q(x)| dx.

Because this integral is evaluated from −δ to δ, part of the area between x∗ and δwill be included that was not accounted for originally.

Since f is twice differentiable, we can write

f(x) = f(0) + f ′(0)x+1

2f ′′(0)x2︸ ︷︷ ︸

q(x)

+ g(x),

where g(x) = O(x3) as x → 0. That is, there exists some positive constant M andε > 0 such that |g(x)| ≤M |x3| for |x| < ε. Therefore,

|f(x)− q(x)|x3

=|g(x)|x3

≤M for |x| < ε.

We show that∫ δ−δ|f(x)−q(x)| dx

δ3→ 0 as δ → 0. Choose a 0 < δ < ε, then∫ δ

−δ

|f(x)− q(x)| dxδ3

=

∫ δ

−δ

|g(x)| dxδ3

≤∫ δ

−δ

M |x3| dxδ3

=M

δ3

∫ δ

−δ|x3| dx =

2.

Since limδ→0Mδ2

= 0, we know that limδ→0

∫ δ−δ|g(x)| dx

δ3= 0, which concludes the proof

of Theorem 1. �

Page 6: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

6 DR. LECRONE, B. SMITH, S. ZERGER

This analysis shows that if you center a circle on a point on a curve then you canfind the mean curvature by simply comparing the area inside the curve to the areaoutside the curve. This concept will encourage the next part of our research as we usecellular automata to mimic mean curvature flow because we know that using circularneighborhoods has a theoretical justification.

3. Determining the Local Geometry of a Discrete Curve

Once we place the continuous curve into a discrete setting, we utilize the JordanCurve Theorem - which states that any continuous simple closed curve in the planeseparates the plane into two disjoint regions, the inside and the outside. For ourapplication, we store these grid values into a matrix cells. We’re using matrices asour way of working with integer lattices – the grid. Every entry is either a 0 or a 1where the 0’s are considered to be outside the curve and 1’s are considered to be insidethe curve. Throughout, we may also use the naming system of “Conway’s Game ofLife” calling “live” cells a value of 1 and “dead” cells a value of 0 in our matrices.

The first half of our algorithm determines what the shape of the curve is andcomputes information of the local geometry at each point. Being able to recognizecharacteristics of arbitrary images also has many other potential applications, suchas facial recognition software.

3.1. Defining the Interface. We begin by identifying the points in the grid whichcorrespond to the original curve. Our algorithm iterates through the matrix andcounts how many of the direct neighbors, the eight adjacent cells, are alive. Similarto how we constructed the cells matrix, we store 0’s and 1’s in an interface matrixthat overlays the grid. We decided a cell will be an interface point (i.e. the interfacevalue of that cell = 1) if at most 7 cells are alive around a particular live cell. Thisrequires little programming effort - a single condition that if the sum of the cellsneighboring a live cell is strictly less than 8 then that cell is designated an interfacepoint. This leads to some differences between the continuous and discrete cases. Forexample, the interface points of a diamond may not align with your intuition. (SeeFigure 3)

The diamond example demonstrates that, by our convention, interface points areconnected horizontally and vertically, but not solely diagonally. It identifies inter-face points in a stair step fashion. For the extreme cases where the resolution is toolow and leaves a live cell with no surrounding live neighbors, we will not designateit an interface point in order to save computational time. (Though, such a situa-tion indicates a deeper problem requiring one to reevaluate the appropriateness ofsetting/resolution/life...)

3.2. Determining Template Circle Size. Because of our previous theoretical jus-tification, we know that centering a template circle at each interface point at a locallevel will give us an idea of the curvature at that point. When establishing dis-crete template circles, an error occurs between the continuous circle and the discretecellular approximation, shown in the table below. We calculate the percent area

Page 7: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW 7

Intuitive interface points for a cornerof a diamond.

Interface points as determined fromour algorithm.

Figure 3

(box count−πr2

πr2∗ 100

)where the box count is simply how many cells are contained

within a circle of radius r. We note that a box in the grid constructed in MATLABis activated when the center of the box is included inside the circle. You can see thatincreasing the radius from 3.5α to 3.6α yields no increase in box count because nonew box centers are reached.

Box Radius Box Count π*radius2 Percent Error3 29 28.2743 2.5665

3.5 37 38.4845 -3.85743.6 37 40.7150 -9.12453.75 45 44.1786 1.8592

4 49 50.2655 -2.51766 113 113.0973 -.0861

6.5 137 132.7323 3.21537 149 153.9380 -3.2100

7.5 177 176.7146 .16159 253 254.4690 -.577310 317 314.1593 .9042

10.5 349 346.3606 -0.7620

These different radii were examined because originally, we considered averagingcounts from three different template circles. The smaller radius deemed useless whilethe larger radius took too much computational time. Learning from Goldilocks, themedium one was “just right.” As will be discussed later, we end up balancing theaccuracy of the larger circle and the computational time it requires with a compromiseof medium and large template circles.

Page 8: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

8 DR. LECRONE, B. SMITH, S. ZERGER

We choose the default radius of the template circle to be 7.5α even though thetable shows that 6α has slightly less of an error because the 7.5α-template circleresembles a circle better without a significant jump in the box counts. This providesmore accurate results without too much extra computational time and still has a lowerror. This convention also coincides with observations of Garboczi, et al. [1].

radius = 6α radius = 7.5α radius = 10.5α

Figure 4

3.3. Creating a “Burning” Algorithm. We use the burning algorithm to computethe static geometry of the interface. By recording “burncounts” we relate back to thetheoretical concept of local proportions of area inside and outside the curve. Withknowledge of these burncounts, we will be able to compute actual curvature values forthese points. We did not ultimately do this, but it could be determined by looking atsurfaces with curvatures that are easy to compute. As of now, we use these burncountsin our add/remove algorithm explained later when discussing the evolution of thesesurfaces. Figure 5 below displays instances where this algorithm is useful:

4

5

13

2

Extra live cells that we don’t want toconsider (Regions 4 and 5)

1

3

3

24

5

Cells that are not alive that need tobe considered (Region 4)

Figure 5

Page 9: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW 9

Region 1 shows the dead cells within the template circle not burned while region2 illustrates live cells that were also ‘burned.’ Interface cells deemed markers areshown in region 3. Region 5 shows the interface points the template circle does notconsider a marker. In some cases, region 5 gets burned like in the image on the rightin Figure 5.

These examples show that it is not as simple as counting how many cells within atemplate circle are alive and dead. We need a way to look locally at a point on theinterface independently from the behavior of the rest of the curve. These counts wouldgive an inaccurate idea of the curvature at that point. By identifying the importantinterface points, which we name markers, we “burn” the cells in the template circlethat are required to give the right count. We provide an outline to our brilliantburning algorithm:

Set-up:

• Use matrices of 0’s and 1’s for interface points, burned cells, points on thetemplate circle and points in our object.• Use stacks for marker cells and what is still left to be burned.• *We note that MatLab does not have formal data structures such as stacks.

(We created them using vectors and extra variables and updating them everyiteration.)

The Big Idea:

• Start with one point on the interface and center a template circle around it.• Look at the direct neighbors of the center and mark the other interface points

as markers and add the other alive cells to a “to be burned” stack.• Burn the center cell.

Go through the entire marker stack while:

• Checking that the cell is in the template circle.• Checking that it is not already burned.• Adding the interface points to the markers stack.• Adding the other alive cells to the “to be burned” stack.• Burn the marker.

Go through the entire “to be burned” stack while:

• Checking that the cell is in the template circle.• Checking that it is not already burned.• Adding all the neighbors to the “to be burned” stack.• Burn the current cell.• Take a final count of how many cells in the template circle are burned.

This final count plays a pivotal role in determining the next step in our research:how to evolve the curve. The rules of our cellular automaton depend on these finalcounts.

Page 10: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

10 DR. LECRONE, B. SMITH, S. ZERGER

4. Discrete Evolution of Mean Curvature Flow

Now that we have the static geometry of the interface, we can determine whichparts on the curve evolve inward or outward and how drastically.

4.1. Determining Cell Changes That Show Accurate Representation. Toaccount for the mean curvature at each point on the interface, we first planned tocreate a “mean curvature function” that would correspond ranges of burncounts withcertain mean curvatures and then apply them to each interface point. It was thendetermined that the error would be too significant and that the middle step couldbe skipped to save some percentage of error. To do this, an add/remove algorithmwas created that does the above, but does not put any values into a “mean curvaturefunction.” It simply takes the ranges of burncounts and directly applies them tothe interface points, adding or removing adjacent cells each iteration. The rangesand number of cells that need to be removed or added were determined with previousknowledge of mean curvature flow in the back of our minds. The ranges of burncountswere then generalized so the algorithm would work with different sized templatecircles.

After the analysis of different numbers for the radius of template circles comparedto errors incurred, shown by the previous table, a smaller and larger radius werechosen to make the algorithm more accurate. Every interface point is run throughwith the smaller template circle - a radius of 7.5α - including the burning algorithm,and then ran through again with the larger template circle - a radius of 10.5α - forthe interface points at which the smaller template circle determined to not remove oradd any cells. This process is more accurate because the larger circle reexamines thestraighter parts of the curve. When curves were tested using both template circles,their evolutions transformed in a manner that could resemble normal mean curvatureflow.

This connects back to how the normal velocity corresponds to negative mean curva-ture. The box counts were determined based on what the behavior of the theoreticalmean curvature. A straight line, where the curvature is 0, began the range selectionby seeing how many discrete box arrangements would resemble a straight line. Pos-tive mean curvature implies a negative normal velocity which in the discrete settingsays cells need to be removed from that area. Likewise, a negative mean curvaturevalue would want to add cells. The higher the magnitude, the quicker it wants toaccomplish this. So interface points, with lower burncounts remove more cells, to tryto mimic mean curvature flow.

Page 11: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW 11

+1-3

-1

0

Figure 6. The original object with shown add/remove counts and apreview of the evolution algorithm.

4.2. Modeling the Evolution of Closed Curves. Figure 6 gives a preview of howour algorithm evolves a given curve. This is a general outline of the algorithm wewrote:

(1) Initialize some surface.(2) Identify interface points.(3) Place a template circle around an interface point.(4) Run through the burning algorithm.(5) Use this count to determine how many cells should be added or removed.(6) Repeat 3-6 for every interface point.(7) Designate which cells are to be added or removed.(8) Change the cell values so the “to be removed” cells are now dead and those

“to be added” are now alive.(9) Repeat 2-8 (one generation)...until all cells are dead or your heart is content.

Once the add/remove counts are determined, (7) designates which cells will beadded and removed in a manner similar to the burning algorithm. We create aprioritized stack of the cells within two neighborhoods. Our algorithm places thecenter cell first and then direct neighbors that are interface points. The other directneighbors follow. Then the interface points from the second neighborhood come beforethe rest of the second level neighbors.

This ordering is really just a list of potential cells that could be designated tochange states. For example, if a cell is already designated to change at the end of theloop, it is deleted from this list of potentials. Similarly, if we are trying to add cellsat a point, any cells that are already alive are eliminated from the list. We are reallyjust searching through the cells and looking at the characteristics of each one whileignoring unusable options.

The way we set up this search algorithm produces an interesting consequent. If wewatch the evolution unil all the cells disappear, we see a small assortment of stubborncells that do not want to disappear in the final time step unless forced to. We arereally outside the range that our numerical methods work. The algorithm works well

Page 12: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

12 DR. LECRONE, B. SMITH, S. ZERGER

in the ranges for the object sizes we expected it to work well on. The resolution isdetermined based on the inital size of the object.

We created different objects to test our evolution algorithm in the discrete setting.We note here that the connection between theoretical time elapsed and the numberof generations is still unclear. As we do not have a complete grasp of the conceptof time, we will show the objects after a certain number of steps. Figure 7 showswhat everyone wants to see – how the Batman logo evolves under our algorithm. Youcan see the points of high curvature disappear quickly. The rest of object evolvesby smoothing out the curves. Figure 8 provides another example that illustrates aresemblance to mean curvature flow with an object similar to headphones.

Initial Object After 1 step After 2 steps

After 10 steps After 20 steps After 45 steps

Figure 7

Page 13: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW 13

Intial object After 1 step After 5 steps

After 15 steps After 25 steps After 35 steps

Figure 8

4.3. Embedding Obstacles. After successfully mimicking the evolution of simpleclosed curves, obstacles were embedded and the original algorithm was altered toaccount for them. To first fix the obstacle on the lattice, an obstacle matrix wasoverlayed on the larger cell matrix. The obstacle remains fixed, “immortal” in away because our conditions require that the obstacle is not allowed to die. Our coderemoves these cells from the list of potential cells mentioned earlier when determiningwhich ones to add or remove. The evolution of the closed curve with one obstacle issupposed to evolve toward and then wrap around the obstacle.

Suppose only one obstacle is embedded (See Figure 9):

Page 14: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

14 DR. LECRONE, B. SMITH, S. ZERGER

One obstacle embedded After 5 steps After 50 steps

After 51 steps After 52 steps Finished after 57 steps

Figure 9

Although the image looks like we have lost mass around the obstacle, really theevolving interface becomes the interface of the obstacle upon contact.

We also wondered how the interface would evolve with more than one obstacle em-bedded (See Figure 10). The algorithm stops when there are no more cells designated‘to be removed.’ The template circle is fooled into thinking that every interface pointis flat because it is zoomed in so far. Or if it can detect a greater curvature, it maybe completely limited from removing cells because of an obstacle.

The only real obstacle in our research so far is the limitation of time. We were ableto confidently construct an algorithm that identifies the static geometric propertieswithout prior knowledge of the curve. We created rules that implement and governan evolution of sorts. On a broader scale, we know this evolution mimics the generalrules of mean curvature flow even with obstacles embedded.

Page 15: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW 15

Two obstacles embedded After 30 steps After 50 steps

After 80 steps After 100 steps Finished after 122 steps

Figure 10

5. Potential Research

However, with the mathematician’s curse, we want to know much more. We knowthere is a connection between discrete time steps and steps in “theoretical time.”There is a difference between generations and what we’ve been regarding as timesteps. We don’t know how long a generation lasts in time.

To better mimic mean curvature flow, the next big step in this research lies atfinding each interface points’ normal direction and velocity in the setting of cellularautomata. If the normal vector is found for a point, then the neighbors that are tobe added or removed can be prioritized to reflect the curves’ orientation so that thenormal mean curvature flow is better approximated by first looking at the cells in thenormal direction. It would be valuable to understand how the concentration of theadd/remove values relates to interface velocity. Our research can also be expandedto higher dimensions. Further goals include experimenting with other algorithms inplace of a burning algorithm for estimating mean curvature. For example, one shouldbe able to isolate the direction and orientation of nearby interface points within atemplate sphere and use this information alone to appoximate the mean curvature.

Page 16: USING CELLULAR AUTOMATA TO MODEL MEAN ......USING CELLULAR AUTOMATA TO MODEL MEAN CURVATURE FLOW DR. LECRONE, B. SMITH, S. ZERGER Abstract. In this article, we study the evolution

16 DR. LECRONE, B. SMITH, S. ZERGER

Acknowledgements

This research was carried out at Summer Undergraduate Mathematics Research(SUMaR) Math REU funded by NSF under DMS award #1262877. The authorswould like to thank Kansas State University for their hospitality and Dr. NathanAlbin for helpful discussions.

References

[1] J. Bullard, E. Garboczi, W. Carter, E. Fuller Jr., Numerical methods for computing interfacialmean curvature Elsevier Science (1994), 103–116.

[2] P. J. Pimienta, W. C. Carter, E. J. Garboczi, Cellular Automaton Algorithm for Surface MassTransport Due to Curvature Gradients: Simulations of Sintering. Computational MaterialsScience 1 (1992), 63-77.