The Collapse of Group of Indivisual Bodies Using
Transformation Surface for Virtual Cooking System
Yuta Kurimoto

Kenji Funahashi

Department of Computer Science and Engineering,
Nagoya Institute of Technology
Gokiso-cho, Showa-ku, Nagoya 466-8555 Japan
Email: yutamoto@center.nitech.ac.jp

Department of Computer Science and Engineering,
Nagoya Institute of Technology
Gokiso-cho, Showa-ku, Nagoya 466-8555 Japan
Email: kenji@nitech.ac.jp

Abstract—We have researched an interactive manipulation
model for a group of individual bodies (GIB) such as sand andlava. An exact calculation of a GIB behavior is quite complex, andthe amount of calculation takes much time. Therefore we treat
the GIB as one as one object. The GIB is represented as a height
field, and variation of the height data represents a movementof the GIB. However a GIB collapse is calculated locally andsequentially. In this paper, we propose the new manipulation
model which treats the whole of a GIB collapse as a kind of local
GIB. In our model, the collapse is calculated with transformation
surface same as the GIB manipulation model.
Index Terms—a group of individual bodies, virtual cooking
system, interactive manipulation, collapse

I. I NTRODUCTION
In recent years, VR technology has been advanced remarkably and a lot of VR simulator has been developed in various
fields, such as medical, industry, and education fields. As
for the advantage of using VR system, reservation of safety
and reduction of cost are mentioned. Users can receive agreat benefit using these systems. However introduction ofthese systems to households is not progressing because theequipment used is huge or expensive. In contrast acquisitionof the hardware which allows intuitive operation such as gamecontrollers becomes possible at a low cost. Furthermore thespread of highly performance devices is also expected. Thus
research on learning support system that targets to households
has been carried out [1].
We focused on the cooking as a subject of VR content,
and have been developing VR cooking learning system. Thissystem is used for learning a procedure of cooking. The final
purpose of this system is to learn a basic procedure of cooking(e.g. washing, cutting and dishing). Objects used in a cooking
procedure are containers (e.g. skillet and pot), cookwares (e.g.
knife and spatula), foods, and liquid material. In order torealize to manipulate these objects, it is required to represent
behavior of solid (rigid and elastic) body and fluid. Behaviorof objects represented in real time is also required to give asense of realism to users.
By the way the representation of behavior of a gather ofsmall bodies such as rice and a piece of foods is required tohave experience of a cooking procedure. Research on lava
flow [2], sand [3][4][5][6] and fluid [7] are mentioned as
related ones. In the lava model [2] and sand model [3], theparticle method is used and attempt to represent exact behavior. However an exact calculation of large number of bodies
is quite complex and the amount of calculation takes muchtime, it requires to parallel calculation using GPU for realtime simulation. The sand model [4] calculates its behavior
sequentially based on the height field. Although behavior ofsand is calculated with relatively high speed processing in thismodel, applying this model to application systems that requirevarious processes is difficult.
On the other hand we define the object composed ofplural bodies (such as ingredients) as a group of individual
bodies (GIB), and propose interactive manipulation model ofthe GIB [8][9] which treats the whole of them as one object.
In this model, behavior of each individual body composed of
the GIB is not considered. Thus we enable both high speed
calculation and representation of natural behavior that users
manipulate without senses of discomfort. A GIB is affected
the interference with cookwares and the gravity due to thechanges of the pose of containers. These effect change theshape and the position of the GIB. In contrast collapse of the
GIB is not treated in a lump. It is represented with simple,
local and sequential calculation. Consequently collapse of the
GIB processed in a single step is locally and sequentiallycalculation, and it spends considerable time to spread out.
In this paper, we propose a new GIB collapse model. First,
we find the area where a part of GIB collapses. Next, we
calculate collapse in that area as one object. In this model, we
can maintain high speed processing and control the progressof collapse depending on the GIB property such as densityand viscosity. We can also represent collapse of the GIB withversatility.
In section II the GIB models is outlined, section III describes
the method for the proposed model, and the results of the
proposed system is described in section IV.
II. M ANIPULATION MODEL OF GIB
A. Container and GIB
In this model, a GIB is defined as a height field which
is fixed on a container (Fig.1), and treated as one object. A
container is constructed of a bottom composed of the convex
polygon and the side perpendicular to the bottom. A twodimensional grid is set to the container bottom. The shapeycenter grid of containerzobserve grid o(‫ݔ‬, ‫)ݕ‬x
Fig. 1.

y

GIB on a Container

x

z
1

2

t

Apply TS3

increase

Fig. 2.

decrease

two adjacent grids‫ݏ‬ଵ (‫ݔ‬, ‫)ݕ‬, ‫ݏ‬ଶ (‫ݔ‬, ‫)ݕ‬bottom of containert + ∆tFig. 3.

Observe Grid and Two Adjacent Grids

Vertical Section of GIB and Containerof the GIB is represented as the set of the height of each grid.
The GIB volume is represented as the sum of a part of GIB
volume on each grid in a container. When the height of a gridcoordinate (x, y) is represented h(x, y), a part of GIB volumef (x, y) of grid(x, y) is calculated with the height and a squaremeasure. The GIB volume V in a container C is calculated
as below.
∑V =f (x, y)(1)2) If these differences are larger than the threshold valuet, the height of those vertices are set the average value
with the following condition.
a) where ds1 > t ∩ hs2 > t,h(o(x, y)) = 13 (h(o(x, y)) + h(s1 (x, y))+h(s2 (x, y)))b) where ds1 > t ∩ hs2 ≤ t，h(o(x, y)) = 21 (h(o(x, y)) + h(s1 (x, y)))(x,y)∈C

B. Transform Surface
In this model, a GIB is manipulated as one object for
decreasing the amount of calculation. Change of the height ofeach grid at short time interval represents behavior of a GIB,
and the surface of the GIB is rendered using texture mapping.
We represent a GIB behavior between short time interval in a
curved surface which is defined as a variation of a GIB. We
define that curved surface as a transform surface (TS). In fact,
it is difficult to calculate the TS shape because a GIB behavior
is complex. The TS is decided empirically in behavior of a
GIB, it represents the plausible GIB transformation. When acontainer where the GIB exists in the center is inclined at timet, the GIB is expected to slide down to the lower part of thecontainer (Fig.2-1). Then, the TS is applied around the GIB(Fig.2-2). As a result the GIB is moved (Fig.2-3). The TS is
calculated from the physical effect such as the gravity and thereaction force.
C. GIB Collapse without TS
There is the case that a part of a GIB collapses. In sucha case is represented local and sequential calculation without
the TS. Collapse of the GIB is calculated as follows.
1) Calculating differences of height d between a observe
grid o(x, y) and two adjacent grids s1 (x, y), s2 (x, y) in
direction of the center of a container.

c) where ds1 ≤ t ∩ hs2 > t，h(o(x, y)) = 21 (h(o(x, y)) + h(s2 (x, y)))d) where ds1 ≤ t ∩ hs2 ≤ t，h(o(x, y)) = h(o(x, y))This process is carried out through finite times in one frame
and the change of the height affects the whole of GIB
gradually.
III. GIB C OLLAPSE WITH TS
A. Conventional Model and Proposed ModelIn the conventional model, collapse of a part of a GIB
is calculated locally. Progress of collapse is decided fromthe shape of the GIB. Consequently we can not control the
progress of collapse depending on the GIB property such astreat as one
object1tdecrease
Fig. 4.

increase2

3

t + ∆tVertical section of GIB collapse

1 step
Fig. 5.

2 stepsN steps

Collapse of GIB in Conventional modelFig. 9.

TS of Collapse

Arbitrary steps (appropriate parameter)
Fig. 6.

Collapse of GIB in Proposed model

density and viscosity in the conventional model, because GIB
collapse processed in a single step is locally and sequentiallycalculation, and it spends considerable time to spread out.
Progress of collapse depending on the GIB property should
be changed. The vertical section of the proposed model isshown in Fig.4. In proposed model, we consider collapse of apart of a GIB, and treat the collapse area as one object. The
procedure of calculation of the collapse as follows.
1) Find candidates of vertices and areas where a GIB
collapses
2) Reduce candidates3) Decide whether the part of the GIB collapses in the area
In the conventional model, progress of collapse of a GIB certainly takes many steps (Fig.5). On the other hand the proposedmodel, we become possible to control progress of collapse atarbitrary steps applying an appropriate parameter (Fig.6).
B. Shape of TS
We use the Gauss function to define a TS for collapse.
Sectional views of a typical image of a GIB before and after
collapse are shown in (Fig.7, 8). The difference between the
two Gaussian surface is defined as the TS (Fig.9). A GIB
which is piled up continues to collapse until it gets stable.
Therefore we assume the change of the piled up GIB withshape during a certain time interval and use Gaussian surface
as the piled up GIB with smooth slope.

C. Find Candidates of Vertices where GIB collapse
First, we find the areas where a part of a GIB may collapse
and the center point of that area. We compare the height of aobserve grid and adjacent grids to check the state of the piled
up GIB locally. When a observe grid is the grid (xi , yj ), we
compare the height of the observe grid and four adjacent gridsh(xi−1 , yj ), h(xi+1 , yj ), h(xi , yj−1 ), h(xi , yj+1 ) (Fig.10, 11,12). If the height of the observe grid fulfills both following
conditions,h(xi−1 , yj ) + h(xi+1 , yj ),(2)2h(xi , yj−1 ) + h(xi , yj+1 )h(xi , yj ) >,(3)
2
we treat the grid (xi , yj ) as a center point of the part of the GIB
may collapse (Fig.12-4). We keep the top of the grid (xi , yj )as a candidate of a vertex for collapse. It is represented as athree-dimensional coordinate (xi , yj , h(xi , yj )). Moreover weconsider a candidate of an area. It is a cone which has thevertex candidate as its apex (Fig.13). We treat collapse in it
as one object. An angle of the conic slope of the area is anangle of repose which represents the angle that the GIB piled
up keeps stability.
h(xi , yj ) >D. Reduce Candidates
In the above process, a lot of area candidates are detected.
If we calculate collapse of a part of a GIB in each area,
calculation time increases. Thus we reduce vertex candidates
using area candidates. For example, an area with a vertex
candidate P includes other vertex candidate Q (Fig.14). Ini −1zobserve vertexyhi −1 iFig. 10.
Fig. 7.

Before Collapse

Fig. 8.

After Collapse

i +1
j +1

i

j

x
i +1

j −1

z

x

observevertexObserve Vertex
Fig. 11.
Observe Vertex and Four
Adjacent Grids Vertex

1

2

z
z

z

y

y

z

x

observevertexz

height of GIB(GIB volume at this grid)
length ofgeneratrix

θ
y

4

y

P

VP

x
3

height of final
vertex candidateℎ(‫ݔ‬௉ , ‫ݕ‬௉ )yFig. 15.

xx(xp , y p )Height of GIB, Generatrix and Final Vertex Candidatex
E. Decide whether GIB Collapses

Fig. 12.

Four Conditions with Observe Vertex and Adjacent Grids Vertex

Fig.14, we assume that Q is included in the range of collapse
centered at vertex P . We describe such collapse as collapse
at P . Calculation of collapse at Q is not considered and Q
is removed from the vertex candidate list. For example, thetop of the area candidate P and vertex candidates Q1 , Q2 areshown in Fig.13. In Fig.13, Q1 is removed from the vertex
candidate list because it is inside the cone based on the area
candidate. In contrast Q2 is kept as the vertex candidate list
because it is outside the cone. Vertex candidates are judged
and reduced sequentially from the length vertex. After thisprocess, we treat vertex candidates in the vertex candidate list
as a final vertex candidates.

We judge whether a part of a GIB collapses using area
candidates based on the final vertex candidates. If a cone-shape
GIB, for example, has the apex which is same height of P ,and has smaller volume than the volume of the cone with the
apex P and the angle of repose θ, the angle of the GIB slope
is larger than the θ. Although a shape of a GIB is of course
different from a cone, we assume that the part of the GIB in
the area collapses at P when the GIB volume is smaller than
the reposed volume (Fig.16). The volume of the cone basedon the area candidate with the final vertex candidate P isrepresented Vp , and the volume within the cone is represented
VGIB (the volume inside the dashed line in Fig. 16). Both Vp
and VGIB are calculated as following equations (4),(5). Lengthof generatrix gen(xi , yj ) is the height of the perpendicular linefrom the generatrix to a bottom at the grid (xi , yj ).
Vp =vertexcandidate ܳଵ
inside the conezvertex candidate ܲvertex candidateܳଶ outside the coneyxarea candidateθpart of container
Fig. 13.

Area Candidate and Vertex Candidates

VGIB =(x,y)∈C(5)
So R = VGIB /Vp < 1, the part of the GIB should collapse.
We apply a TS and the part of the GIB collapses. The central
point G of the TS is matched with the final vertex candidate P .
We can represent difference types of collapse with appropriate

cone based onarea candidate

removed

ܲ

V GIB

GIB

candidatesQ(4)∑ { f (xi , yj ) : f (xi , yj ) < gen(xi , yj )gen(xi , yj ) : f (xi , yj ) ≥ gen(xi , yj )VpP(h(xp , yp ))3 tan2 θ
,
3

θ

θ

θ

ܴ=1

0 < R ≤1

range of collapse effectFig. 14.

Reduce Candidate

Fig. 16.

Stability Judged with Angle of Repose and GIB Volume

TABLE I
P ERFORMANCE R ESULTS
vertices
317
529
901
1343

FPS
1015
620
393
203

steps using the scaled TS according to the size of the collapse
area.

IV. E XPERIMENT AND R ESULTWe implemented the system based on the proposed model(Fig.17). The specification of PC is the following; CPU:InterCorei5-2400, 3.10GHz. In this experiment system, weused the Wii remote released from Nintendo Co., Ltd. A
container is supposed as a skillet and a GIB as fried rice (nottraditional Chinese fried rice but Japanese). Collapse of the
GIB is represented in Fig.18. Moreover the difference of the
progress of collapse is represented in Fig.19, 20.
We evaluated the proposed model (Table I). If the amountof a two-dimensional grid defined as a container bottom
increases, the interval of the grid become narrow and a GIB
is represented in more detail. We got an opinion that the GIB
behavior is natural with 317 vertices in advance. According to
the result, processing speed of the experiment is much fasterthan the speed that is required for interactive manipulation.
However it is not excessive speed because we intend to add
various procedure which includes manipulation model of a
GIB using cookwares (such as a spatula), a vertical motion of
GIB swinging containers (such as a skillet and a pot), dishing,and cutting to VR cooking learning system. Several subjects
used and evaluated the system. We got some opinions thatvarious types of the progress of collapse is represented. In

Fig. 17.

Appearance of Experiment System

the conventional model, we were able to make progress ofcollapse just slower. On the other hand we were not able to
make it faster besides expanding the grid interval between eachgrid. Each parameter used in the experiment is determined
empirically.
V. CONCLUSION
In interactive manipulation model of a GIB we have been
proposed, it is possible to calculate behavior of the GIB withhigh processing speed using a TS. However collapse of the
GIB is calculated locally and sequentially. In this paper, we
proposed the new GIB collapse model using transformation
surface. First, we find candidates of vertices for collapse area
locally. Next, we decide the collapse areas for collapse wherea part of a GIB collapses. They are cone-shape and we treat
the part of the GIB thereabouts. Finally, a TS which is madebased on form of a GIB collapses is applied with appropriate
parameter. Applying a TS to collapse, it is possible to control
the progress of collapse depending on the GIB property suchas density and viscosity. As the experimental result shows,the proposed model can operate with high processing speed.
Therefore this model is useful for developed applications withinteractive manipulation.
Future work may include the following. We should represent
more detailed collapse behavior using various form TS. The
purpose of our work is VR cooking learning system, it isnecessary to develop other procedure models such as washing,cutting, and dishing.
ACKNOWLEDGMENT
We thank our colleagues in our laboratory for useful discussions. This work was supported in part by JSPS KAKENHI
Grant Number 24501186.
R EFERENCES[1] F. Kato, H. Mitake, S. Hasegawa, “Interactive Cooking Simulator”, In:
Proc. of the 15th Virtual Reality Society of Japan Annual Conference(academic lectures), 2D2-2(DVD-ROM), 2010. (in Japanese)[2] D. Stora, P. O. Agliati, M. P. Cani, F. Neyret, J.D. Gascuel, “Animating
Lava Flows”, Graphics Interface’ 99, pp.203-210, 1999.
[3] R. Narain, A. Golas, M.C. Lin, “Free-Flowing Granular Materials with
Two-Way Solid Coupling”, In ACM Transactions on Graphics (Proceedings of SIGGRAPH Asia), vol.29, no.6, pp.173:1-173:10, 2010.
[4] K. Onoue, T. Nishita, “Virtual Sandbox”, In: Proc. of the 11th PacificGraphics, pp.252-259(2003)[5] C. Amman, D. Bloom, J. M .Cohen, J. Courte, L. Flores, S. Hasegawa,N. Kalaitzidis , T. Tornberg, L. Treweek, B. Winter, Yang C,“The Birthof Sandman”, SIGGRAPH 2007 sketches, 2007.
[6] M. Pla-Castells, I. Garcia-Fernandez, R. J. Martinez, “Interactive Terrain
Simulation and Force Distribution Models in Sand Piles”, In Cellular
Automata. 392-401, 2006.
[7] T. Lenaerts, P. Dutre, “Mixing fluids and granular materials”, Computer
Graphics Forum 28, 213-218(6), 2009.
[8] A. Morii, D. Yamamoto, K. Funahashi, “Interactive Manipulation Modelof Group of Individual Bodies for VR Cooking System”, Proc. ICEC2010,
pp.484-486, 2010.
[9] A. Morii, S. Kamigaito, D. Yamamoto, K. Funahashi, “Existence Probability Particle Based Interaction Model of Group of Individual Bodies
for VR Cooking System”, Transactions of the Virtual Reality Society ofJapan, Vol.16, No.4, pp.539-549, 2011. (in Japanese)

1

2

3

Fig. 19.

Fig. 18.

Collapse of GIB

Slow Collapse

Fig. 20.

Fast Collapse