A Generation Method of Rust Aging Texture Considering Rust Spreading
Ryoma Tanabe† Tomoaki Moriya† Yuki Morimoto† Tokiichiro Takahashi†‡†Graduate School of Science and Technology for Future Life, Tokyo Denki University ‡UEI ResearchE-mail: †{r-tanabe, moriya, yuki, toki}@vcl.jp
Abstract— Rust is indispensable in order to synthesize
realistic computer generated images. There are two kinds ofrust. One is a kind of rust that iron was corroded actually,
and another is a kind of rust that has been peeled fromrusted iron surfaces and drifted flow of rainwater. We havedeveloped a rust simulation system based on a cellular
automaton that generates rust aging textures considering
two kinds of rust. Several simulation results verify that twokinds of rust is effective to generate rust aging texturescompared with real rust photos.
Keywords—component;Computer Graphics，Rust
simulation，Main-rust，Sub-rust，Cellular automaton

INTRODUCTION
In recent years, 3D computer graphics (3DCG) techniques aredeveloped, and it is possible to create realistic 3DCG images.
However, most of the objects that exist in real world havescratches or dirt. In order to generate a realistic 3DCG model,depicting deterioration, dirt, and damage is important. In thispaper, we propose a method that generate rusts automaticallycaused by a deterioration of iron plate.
Yao-Xun Chang et al. [1] is simulated growing progress ofrusts in a sea by L-system. Kamata et al. [2] also proposed a
growing simulation of rust by L-system. However, L-system is acomplex, and it is difficult to control. Doi et al. [1] proposed amethod to generate automatically a rusts texture using twodimensional cellular automata. This method is called twodimensional cellular automata for growing rusts progress in thispaper. However, their approach does not take into account theslope of an iron plate. Therefore, there method only can represent
rusts occurring on a horizontal iron plate.
We extend the two-dimensional cellular automata for growing
rusts progress, and propose a method that generate rust texture
considering the tilt of iron plate. In addition, we divide rusts into
two the following. First is iron corrosion (called main-rust).
Second is flowing down main-rust by rain (called sub-rust). We
propose a method that focus on these two type rusts. Therefore
our method can generate realistic rusts.

THE PREVIOUS STUDIES BY TWODIMENSIONAL CELLULAR AUTOMATE
In this chapter, we describe a Doi et al method [3] that we used
as a reference.They simulate a growing progress of rusts by using
a two-dimensional cellular automata of 256 × 256 cells. Each cellhas 5 parameters, vertex coordinates, surface attributes, growthlevel, phase level, and rust occurrence probability.
Vertex coordinates store position information(x, y coordinates)of the cell. Surface attributes store value of environment lightcomponent, diffuse reflection component and specular reflection
component. Growth level is a numerical value indicating thegrowing progress of rusts in each cell and used to expand the rusts.
Phase levels is a parameter to determine color of rusts by growthlevels. Rust occurrence probability is a parameter for controllinga probability of rusts occurs.
Our method expand rusts by raster scanning entire cell. Rusts
grow by propagating growth level of a cell to the neighboring
cells. As shown in Fig. 1 (a), when the growth level is 1 or more,
we randomly select one cell from the eight neighboring cells.
Next, the growth level of the selected cell is incremented. When
growth level of the cell reaches a predetermined value or more,
phase level of the cell is incremented. The cell color changes
darker (Fig. 1 (b)) by incrementing phase level. Rust is grow by
previous described procedure. In other words, iron plate
corrosion advance.
A method by cellular automata of Doi et al., simulates growing
progress of real rusts with a simple algorithm. However, thismethod can only represent rusts occurring on a horizontal ironplate. Thus, inclination of an iron plate does not affect rust shapeor occurrence position in this method.

(a) When growth level is 1 or more, we randomly select one
cell from eight neighboring cells. Growth level of theselected cell is incremented.

(b) When growth level reaches a predetermined value ormore, phase level is incremented and rust grow.
Figure.1 Growth control of rust by cellular automata

IMPLEMENTATION
Our proposed method based on the two-dimensional cellular
automata for rust progress of Doi et al., allows generation of rusttexture considering slope of an iron plate. And our method
improved based method by dividing rusts in main-rust and subrust.

A. Description of main-rust and sub-rustMain-rust is portion of corroded iron plate. On the other hand,
sub-rust are main-rust that peeled off by wind and rain. Sub-rustmove to direction of gravity by mixing with water drops. Subrust apparent have a rust-colored. Since Sub-rust is not actuallycorroded to generate rust, and easily flows out dissolved in rain.
However, the sub-rust occurs, there is moisture and impurities
tends to remain. When the moisture remains on the surface,wetting time[4] is longer. This means that main-rust is likely tooccur. We improve the method of Doi et al. To be able to simulate
the behavior of these main-rust and sub-rust.
B. Structure of the cell
The following are the details of the parameters. In order tosimulate the growth of main-rusts and sub-rusts, we divide thegrowth level of each cell into main-rust growth level and sub-rust
growth level. Accordingly, each cell has 6 parameters, vertex
coordinates, surface attributes, main-rust growth level, sub-rust
growth level, phase level, and rust occurrence probability.
(1) Vertex coordinates: This parameter stores position
information(x, y coordinates) of the cell.
(2) Surface attributes: This parameter stores a value
environment light component, a diffuse reflection
component and a specular reflection component.
(3) Main-rust growth level: This parameter indicates thegrowing progress of a main-rust of each cell.
(4) Sub-rust growth level: This parameter indicates a growing
progress of the sub-rust of each cell.
(5) Phase level: This parameter determines color of main-rustand sub-rust by rust growth levels.
(6) Rust occurrence probability: This parameter is a probability
that main-rust occurs.
C. Behaviors of main-rust
We scan all cells of a two-dimensional cellular automata by
raster scan. If rust occurrence probability of a cell is threshold ormore, main-rust growth level of the cell is incremented. We set
rust occurrence probability to 0.001%.
While we repeat raster scan of all cells, main-rust is grown by
two steps described below.
(1) If main-rust growth level of a cell C(x, y) is more than 1, one
cell is selected from cell C(x±1, y±1), C(x±2, y) and C(x, y±2)
at random (Fig. 2). Main-rust growth level of the selected cellis incremented. We call the selected cell as C(x’, y’).
(2) In order to simulate a rust growing progress taking aninclination of the surface in to account, we propagate rusts
generated in step (1) in a direction of gravity. That is, wedetermine a propagation range 𝛼x, 𝛼y in the direction ofgravity (Fig. 3 (a)). Then, we increment main-rust growthlevel of entire cell between C (x ', y') and C (x '+ αx, y' + αy).
We determine 𝛼x and 𝛼y by the following formula.
0 … 𝐻𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑎𝑙 𝑝𝑙𝑎𝑛𝑒
𝛼𝑥 = {0 … 45°𝑖𝑛𝑐𝑙𝑖𝑛𝑒𝑑 𝑝𝑙𝑎𝑛𝑒−1~1 … 𝑉𝑒𝑟𝑡𝑖𝑐𝑎𝑙 𝑝𝑙𝑎𝑛𝑒
0 … 𝐻𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑎𝑙 𝑝𝑙𝑎𝑛𝑒
𝛼𝑦 = {0~1 … 45°𝑖𝑛𝑐𝑙𝑖𝑛𝑒𝑑 𝑝𝑙𝑎𝑛𝑒
0~2 … 𝑉𝑒𝑟𝑡𝑖𝑐𝑎𝑙 𝑝𝑙𝑎𝑛𝑒

Main-rust repeats expanding and generation by theseprocesses. If rusts propagate to x-axis, we reduce propagation toy-axis direction. Thus rust shapes in our proposed method
become a similar shape of rust in real world.
D. Behaviors of sub-rust
Sub-rust is a rust that occurs from main-rust. Occurring andgrowing algorithm of sub-rust is described as following.
(1) Sub-rust is generated from a cell that main-rust growth levelor sub-rust growth level is 1 or higher. If main-rust or subrust growth level of the cell C (x, y) is 1 or more, one cell isselected from cell C(x±1, y±1), C(x±2, y), and C(x, y±2) at
random.
(2) Sub-rust grows taking inclination of an iron plate into accounttoo. Similarly main-rust, we also propagate a sub-rust thatwas expanded and propagated by step(1) in a direction ofgravity. We determine a propagation range 𝛽x and 𝛽y in a
direction of gravity (Fig. 3 (b)). And we increment a sub-rust
growth level of entire cell between C (x", y") and C (x" + βx,y" + βy). We determine 𝛽x and 𝛽y by the following formula.
0 … 𝐻𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑎𝑙 𝑝𝑙𝑎𝑛𝑒
𝛽𝑥 = {0 … 45°𝑖𝑛𝑐𝑙𝑖𝑛𝑒𝑑 𝑝𝑙𝑎𝑛𝑒−1~1 … 𝑉𝑒𝑟𝑡𝑖𝑐𝑎𝑙 𝑝𝑙𝑎𝑛𝑒
0 … 𝐻𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑎𝑙 𝑝𝑙𝑎𝑛𝑒
𝛽𝑦 = {0~3 … 45°𝑖𝑛𝑐𝑙𝑖𝑛𝑒𝑑 𝑝𝑙𝑎𝑛𝑒
0~6 … 𝑉𝑒𝑟𝑡𝑖𝑐𝑎𝑙 𝑝𝑙𝑎𝑛𝑒(3) If sub-rusts occur on an iron plate, moisture and impurities
easily remain in the spot. Because wetting time in the spot islonger, main-rusts easily occur. Therefore, a cell that sub-rustoccurred occur easily when raster scan of all cells by
increasing rust occurrence probability. Rust occurrence
probability of the cell set to 0.01% experimentally.

Figure.2 Expanding range of rust(a)Propagation range of main- (b) Propagation range of subrust to the gravity direction 𝛼 rust to the gravity direction 𝛽Figure.3 Propagation range of the gravity direction

We show a flow of main-rust expansion and propagation togravity direction in Figure 4.

(a)

If main-rust growth level of cell C (x, y) is 1 or more, one
cell is selected from cell C(x±1, y±1), C(x±2, y), and C(x,y±2) at random.

by a process described in the previous section. Figure 5 (a) showsa simulation results considering main-rust and sub-rust by our
proposed method. Figure 5 (b) shows a result of a conventional
method considering only main-rust.
Our method improve reality of rusts. And our proposed method
show that rusts advance and droop gradually to direction ofgravity with growing progress of rusts.
B. Comparison of the actual rust
We generated rusts texture from a relationship between thegrowth level and color of main-rust and sub-rust shown in table
1. The result is shown in Figure 6 (b). We compared real rusts
photo (Fig. 6 (c)) with our results (Fig.6 (b)). It can be seen thatvery similar results were obtained.

CONCLUSION
We propose a method to generate rusts texture taking main-rustand sub-rust into account. Our method can generate more realistic
rusts texture than conventional methods.
In the future, in order to obtain more detail rusts texture, wethink enlarging a resolution of two-dimensional cellular automata.
In addition, we think that our method improve to be able to apply
various angles and shapes.
(b)

Next, we determine the propagation range αx and αy in the
direction of gravity. Then, the cell C (x', y') to the C (x' + αx,y' + αy), we will increment main-rust growth level of thecell.

Figure.4 Propagation and expansion of rust to gravity direction
E. Rusts color
We perform main-rust and sub-rust growing process of abovementioned at raster scanning of all cells. Thereafter, we determine
a color of rust in accordance with a growth level of the main-rustand sub-rust of each cell. We set a color of rust in each cell andoutputs these colors as an image. Table 1 shows relationships
between growth levels and colors of main-rust and sub-rust.
These relationships are determined by iron plate exposure
experiment results [4].
Table 1 relationship between each growth level and colorColor
Main-rust
Sub-rust
Iron plate color
Pale yellow

-0-

20

Pale brown-40Ocher-70Brown

5-

Umber

25-Black brown

40-

IMAGE GENERATION RESULTS
We generated a rust texture by tour proposed method
considering the main-rust and sub-rust.
A. Rust of progress simulation results
Figure 5 shows a simulation result of growing progress of rust

ACKNOWLEDGEMENTTokyo Denki University Department of MechanicalEngineering Motoaki Osawa professor taught us the generation
mechanism of rust. Also, he gave me also evaluated oursimulation results. Mr. Hirotaka Umeda who belongs to the Japan
Weathering Test Center gave us to show exposure test methods
and experiment results. We represent the gratitude here.

REFERENCES
[1]

[2]

[3]

[4]

Yao-Xun Chang and Zen-Chung Shih: “The synthesis ofrust in seawater”, The Visual Computer, Vol.19, No.1,
pp.50-66 (2003).
Yutaro Kamata, Yoshitsugu Manabe, Noriko Yata:“Automatic generation of physical erosion map based on
the object shape”, ITE 2012 Winter Conference
Proceedings, 2-2 (2012).
Takayoshi Doi, Naohiro Kato: “CG simulation of rust
growth of metal products with time”, Nanzan University
Department of Information Systems and Mathematical
Sciences Graduation thesis Abstracts(2009) (In Japanese)
Japan Weathering Test Center, Technical information,
Handbook for atmospheric exposure test [Ⅱ] metal part
http://www.jwtc.or.jp/gijutsu/03.pdf009.pdf

Time of step 1(a) Main-rust only

Time of step 15 (Mainrust/Sub-rust)Time of step 15 (Main-rustonly)(b) Main-rust and Sub-rustTime of step 30 (Mainrust/Sub-rust)Time of step 30 (Main-rustonly)(c) Real rusts photo
Time of step 45 (Mainrust/Sub-rust)Time of step 45 (Main-rustonly)(a) Main-rust and Sub-rust(b) Main-rust only

Figure.5 Simulation result

Figure.6 Comparison of the simulation results and a realrusts photo