Trees Trees

Started by
5 comments, last by RobertC 21 years, 2 months ago
I am trying to think of a good way to model tree movement (branches) in windy conditions. I was thinking along the lines of the length of the branch determines how much the branch sways, but, they snap back every now and then, so I was thinking maybe some sort of spring motion? Does anyone have any ideas/thoughts on this?
Advertisement
It seems you have two forces, acting on the ends of the branches:
wind (which varies in direction and strength), and branch spring which is constant and strains to pull the tree to it''s normal position. I think you can ignore gravity unless you want leaves to fall off.

See the tree as a collection of points (branch ends) that want to lie in a particular arrangement. Wind will push them off a bit but when it dies, the points will try to line up again.

If you want something really realistic though you might want to make the wind strength vary over the tree iself to lend to waves of air. I''m thinking along the lines of if wind strength was represented by brightness on a bit map. This could be scrolled virtually over the tree... like a wind map.

Mark
Well, you could use a spring mesh. If I''m not mistaken, I think they run in O(V+E) time. Not saying this is the most efficient approach, but it would look nice.
The thing that would pee me off is I''d want to do collision detection between branches! Though thinking about it, I''ve never heard a tree sounding like the branches collide - maybe they grow to avoid this?!
Use verlet integration? There are a few good tutorials on this spotted around. Tbh the branches will be relatively stiff so shouldn''t collide considerably anyway.

I''ve got a few questions of my own about this kind of spring system: given that the branch is effectively a line connecting 2 points and is inextensible (branches don''t compress really), all motion should be rotational. If the branch gets blown in a direction that is not in the arc of rotation i.e. it would require extension or compression of the branch, does this force then get converted to the just the rotational component?

If the motion is rotational is the force -kx exerted to return the branch to its original position dependent on the linear distance to this position or something else like the angle of rotation?
Doz
quote:
If the branch gets blown in a direction that is not in the arc of rotation i.e. it would require extension or compression of the branch, does this force then get converted to the just the rotational component?

I think we can safely assume that there will only be rotational components, no extension or compression. Every force acting upon the branch will manifest itself through a rotation around the branch joint. But only if the force vector is such, that a part of the force can be transfered as a rotational force. Eg. if the force is parallel to the vector extending along the branch main axis (from joint to top), then no force will be transfered onto the branch. Maximal force will be transfered, if the wind force is perpendicular to the main axis. It also depends on the distance of the point of application to the rotational joint (again, along the main branch axis). If the distance is small, only a small fraction of the force will be transfered, even if it is perpendicular.

Also keep in mind, that the rotational joint can have multiple axes of rotation, not only a single one.

quote:
If the motion is rotational is the force -kx exerted to return the branch to its original position dependent on the linear distance to this position or something else like the angle of rotation?

You can see it as a spring-like system, and you can also compute it accordingly. The counterforce depends on the angle the branch moved from it''s original position. The angle, not the distance, since the branch made a rotational movement.
quote:Original post by RobertC
I am trying to think of a good way to model tree movement (branches) in windy conditions.


Depending on exactly what you want to do, you might consider Stam's modal analysis method. http://citeseer.nj.nec.com/136492.html I haven't read the paper , but I think it might save you from too complicated physics.



[edited by - greeneggs on February 25, 2003 1:20:07 PM]

This topic is closed to new replies.

Advertisement