A MODELING METHOD OF FLUTTERING LEAVES BASED ON POINT CLOUD

: Leaves falling gently or fluttering are common phenomenon in nature scenes. The authenticity of leaves falling plays an important part in the dynamic modeling of natural scenes. The leaves falling model has a widely applications in the field of animation and virtual reality. We propose a novel modeling method of fluttering leaves based on point cloud in this paper. According to the shape, the weight of leaves and the wind speed, three basic trajectories of leaves falling are defined, which are the rotation falling, the roll falling and the screw roll falling. At the same time, a parallel algorithm based on OpenMP is implemented to satisfy the needs of real-time in practical applications. Experimental results demonstrate that the proposed method is amenable to the incorporation of a variety of desirable effects.


INTRODUCTION
Leaves falling gently or fluttering are common phenomenon in nature scenes.The complexity of the air flow and the collision produced in leaves falling makes the simulation process of leaves fluttering more difficult.Hence the accurate and realistic reconstruction of the leaves fluttering has been a great challenging topic in computer graphics for many years.The result has directly influence on the quality of tree modeling in virtual scene.
At present, most researches of leaves fluttering modeling are focused on simulation rather than actual measured.We present a novel method for leaves fluttering modeling.First, the leaves are measured in natural scene and can be variable in size, shape and other aspects.It lays a physical foundation for the real simulation of falling leaves.Second, according to the shape of the leaves, the weight of leaves and the speed of the wind, three kinds of basic trajectories of leaves falling are defined.Then we select an appropriate trajectory to accomplish falling leaves simulation in different wind field.It makes the leaves falling model more realistic.

RELATED WORK
After years of researches, leaves fluttering modeling have obtained fruitful results (Zhong, 2011;Auguste, 2013).The early researches simply applied the fluid dynamics to the leaves fluttering.Wejchert et al. (Wejchert, 1991) proposed a method based on aerodynamics to simulate and control the motion of objects in fluid flows, which can also be applied to an animation that involves hundreds of flexible leaves.However, the falling leaves behaviors and trajectories have not been categorized.Tanabe and Kaneko (Tanabe and Kaneko, 1994) estimated the force and torque using Kutta-Joukowski's theorem to calculate the force acting on leaves and obtained a fluttering and tumbling motion.However, their method is restricted to two spatial dimensions and it is not able to model spiraling.
After that, Desbenoit et al. (Desbenoit, 2006) presented a system for modeling autumn leaves covering vegetation and monuments.They rendered leaves and simulated the aging process, but the behaviors of falling leaves are simulated by using certain patterns.So the leaves falling path is not built based on physical simulation.Vázquez et al. (Vázquez, 2008) put forward a graphics hardware rendering method which models the process of thousands of leaves falling in real time, and they also presented a method for path reuse in order to make longer falling trajectories by reusing the same information data.However, it emphasizes the simulation of thousands of leaves in real time, and lacks of details of falling leaves.In the paper of (Li, 2010), leaves falling motion was divided into two factors such as movement trajectory and leaves posture on each point of the trajectory.Based on it, an algorithm which can be used to produce stylized and expressive falling leaves animation is presented and implemented.Although it has achieved some effects, their leaves are still simulated and somewhat is different from the real leaves.Li et al. (Li, 2015a) proposed a rapid approach for leaf falling dynamic simulation based on the plant physiology principle of leaf abscission.Considering the leaves age and wind force, the specific falling leaves are identified.Then leaves falling motion in the air can be simulated by using synthetic path method based on the current state of falling leaves.However it does not consider the shape of the leaves falling process such as rotation, flip and so on.Quigley et al. (Quigley, 2017) proposed a three-dimensional spiralling motion by introducing the azimuthal offset angle for the torque direction.The leaves will fall from the branches when the torque on the joint exceeds the threshold.While the leaf they used is represented by a thin triangular prism and it is not matched by the actual leaf, which has different thicknesses and shapes in various angles of view.
Alternatively, there has a data-driven approach as in (Martin, 2015) or even randomly sample prescribed spline curves as in (Li, 2015b).
It is clearly to see that the research of leaves falling simulation has made great progress already, but there are also some aspects that need further improvement.Such as using the real natural leaves model, taking into account different geometric features of leaves, classifying leaves falling trajectories by considering various factors and so on.For the reasons outlined above, we propose a method of leaves fluttering based on point cloud in this paper.
The significant contributions of this paper are: 1) Our method accomplishes the simulation of leaves falling based on the measured leaves model, rather than the simulation.On the basis of it, our leaves can be variable in size, shape and other aspects, and therefore it is more real for growing on a tree.
2) The reconstructed falling leaves have three kinds of leaves falling trajectory which can better descript the dynamic characteristics of leaves.The models of leaves motion in rotation falling, roll falling and screw roll falling are all rebuild and that makes the reality sense of the leaves falling stronger.
3) The parallel algorithm is implemented by using OpenMP in order to provide means for real time.
In the next section, we describe the tree model used in our paper.
In Section 4, we introduce the trajectories for falling leaves.The analysis of the experimental results is described in Section 5, and the conclusion is presented in Section 6.

LEAF AND TREE MODEL
The process of tree modeling is composed of three steps, including the modeling of trunk and branch, the modeling of leaves and the growing of leaves on the branch.

Figure 1. Final trunk model
The method of modeling trunk and branch is obtained from (Wang, 2013a).First, the optimal segmentation of the point cloud is carried out.Second, we extract the skeleton points of the tree and carry on the connection of the tree pole skeleton lines.In the end, the reconstruction of tree model is accomplished, and as shown in figure 1.

Modeling of leaves
The leaves modeling are also realized by (Wang, 2013b).The veins and margins are firstly extracted by using image processing from the denoised and smoothed leaf point clouds.
At the same time, the leaf point clouds are simplified except the margins and veins.The basic structure and shape of leaf has been obtained at this time.Then the texture mapping method is implemented to the simplified point clouds on the basis of triangulation and produced a normal leaf model.Finally, the leaves with different shapes are generated by using Laplacian mesh deformation algorithm and grow to the trunk model.The experimental results are shown in figure 2, and it can be seen that every leaf has different shape with each other and has different thicknesses in various perspectives, thus increasing the visual sense of reality.

Growing of leaves on the branch
As in the (Gang, 2014), leaves will grow on the branch by translation transformation and rotation transformation.The generated leaves models are firstly translated to the specified locations, and their sizes are changed by using ratio transformation.The angles between branches and leaves can be adjusted by rotation transformation of coordinate axis to obtain the leaves with different forms.As shown in figure 3.

The leaves falling trajectory
The leaves falling is a complex simulation process, which is influenced by various factors, such as the shape of leaves, the gravity of leaves, the wind speed and direction, and so on.It is clearly to see that the simulation of leaves falling is so complex and it is difficult to calculate the motion path for every leaf.Therefore, we simplify the calculation of leaves falling and define three trajectories to express the basic process of leaves falling without the analysis of forces.The complex and natural falling leaves process is formed by the mixing of three basic trajectories.
As shown in Figure 4, the falling trajectories are defined according to the shape and the weight of leaves and the wind speed.In the breeze, the wind force is smaller than the weight of leaves, and the gravity becomes a dominant in the process of leaves falling.Then the leaves will rotate or roll down to the ground in a straight line, as shown in figure 4 1) The rotation angles, the scaling factors and the angular increments of rotation are first initialized.In our experiment, values are respectively set as (0, 0, 0), (0.5, 0.5, 0.5) and (0.00, 001, 0.50).
2) The translation vector of leaves produced by the rotation transformation and the ratio transformation is calculated by the rotation angles and the scaling factors.4) Return to the step 2) until the loop count is smaller than the given sampling times.
The experimental results are shown in Figure 5.Each leaf is a state in the process of a leaf falling and then combining all of them to create a leaf falling trajectory.

4.1.3
The leaves screw roll falling: When the wind speed becomes stronger, the wind force is bigger than the gravity of leaves and hence to dominant the trajectory of leaves falling.In that situation, the leaves will fall slowly in a screw roll way, as shown in Figure 4(c).The detailed steps are as follows: 1) Initialize the rotation angles, the scaling factors and the angular increments of rotation as (0, 0, 0), (0.5, 0.5, 0.5) and (0.25, 001, 0.50) respectively.
2) Calculate and store the translation vector of leaves, which is produced by the rotation transformation and the ratio transformation, combining with the equation (2).
3) Calculate the current position of leaf by the corresponding translation vector.Update the values of the rotation angles with the angular increments, and update the values of leaves position offset by adding to the equation (1).
4) Return to the step 2) until the loop count is smaller than the given sampling times.
The experimental results are shown in Figure 7.

Random process of falling leaves
After describing three trajectories of leaves falling, taking the rotation falling with straight line as an example, leaves random falling is modeled in this section.
The main idea is to make the leaves falling in a certain order.That is to say, at the time of , only the leaf which is numbered one begin to fall and reach to the position of (the superscripts presents the position number of leaf falling, and the subscripts presents the leaf which is numbered one); at the time of , leaves numbered one and two are in falling state, and the leaf numbered one is falling to the position of , the leaf numbered two is falling to the position of ; at the time of , leaves numbered one, two and three are all in falling state, and the leaf numbered one is falling to the position of , the leaf numbered two is falling to the position of , the leaf numbered three is falling to the position of ; and so on until all the leaves falling down to the ground.The detailed steps of the method are as follows: Initialization.The number of leaves in the current tree model is N, and the number of leaves falling at the same time is a pre-set value and set as .The sampling times of each leaf falling from the branches to the ground is a pre-set value.The value of , which is minimum of leaves falling in the interval at present moment, is set as zero.The maximum of leaves falling is set as .
2) If the value of is smaller than N, which is the number of leaves, it means that there has some leaves that don't fall down to the ground, and then go to step 3); otherwise stop this algorithm.
3) Calculate the position of leaves falling to by the algorithm in Section 5.1.1.
4) Return to the step 2) until all leaves have fallen to the ground.
In our experiment, we select , , and in the testing process.The results of leaves continued falling are shown as figure 8, (a) is the result of the 90th frame, (b) is the result of the 91th frame, (c) is the result of the 233th frame and (d) is the result of the 322th frame.The experimental results show that the algorithm in this paper can simulate the falling leaves more naturally and accurately in the breeze.
From the experiment we can see that the algorithm of steps 4) in section 5.2 has the large amount of calculation.In addition, because multi-core processor has become main stream today, so in this paper, the OpenMP is used in steps 4) of section 5.2 to accomplish the parallel computing, and tests were performed in dual core, and quad core CPU computers with 3.7GHZ and 4G memory.As show in table 9, the running time decreases with the increase of the processor.Experimental results show that the algorithm can meet the needs of practical application in time and provide means for real time of leaves falling.

THE ANALYSIS OF EXPERIMENTAL RESULTS
We simulate leaves fluttering from raw 3D point clouds.
Presently, there is no unified standard for evaluating the authenticity of leaves fluttering simulation, and the complexity of leaves structures further increases the difficulty of direct evaluation.
Our method of leaves fluttering based on point cloud is based on the actual measured leaves.Then the leaves used in our paper have different thicknesses and shapes with the various angles of view.While others methods more focus on the simulation and their leaves usually represented as simply geometry structures, such as in (Quigley, 2017).In that paper, the leaf is approximated to a thin triangular prism leading to the leaf has a same thickness in various angles.Figure 10 shows the result of leaves falling in (Quigley, 2017).In contrast to our method, as shown in Figure 3, the leaves have more folds and complex thickness.It makes the leaves more reality.
Figure 10.The leaves falling results of (Quigley, 2017) In addition, the trajectories of leaves fluttering defined in our method are basic processes, but the mixture model of them can adequately express the complex process of leaves falling in natural scene.The leaves falling trajectories of others methods, such as in (Li, 2015b), can be split into our three basic trajectories.As shown is Figure 11  However, our method just provides the basic process of falling leaves, and lacks of the physical details analysis in leaves falling, such as the vibration caused by the wind, the complex physical analysis for every leaf.In the future, we will consider more details and then producing more natural simulation effects.

Figure 2 .
Figure 2. Figure placement and numbering Figure 4. Leaves falling trajectory = the offset of the leaves position between the current time and the last time 3) Then the current position of leaf can be calculated by the corresponding translation vector.Update the values of the rotation angles with the angular increments.At the same time, add the values of leaves position offset to the next offset position calculated by the equation (1), and thereby obtaining the new offset of leaves position.

4. 1 . 2 Figure 5 .
Figure 5. Two angles of the rotation falling with straight line , Li et al.(Li, 2015b) divided leaf falling motions into 6 classes, including steady descent, periodic tumbling, transitional chaotic, periodic fluttering, transitional helical, and periodic spiral.While these motions are all composed of rotation, roll and screw roll, as shown in Figure4.Thus, our trajectories can not only descript the dynamic characteristics of leaves, but also provide the simulation reference for the further development of falling leaves.