• Advertisement

Archived

This topic is now archived and is closed to further replies.

Trees Trees

This topic is 5475 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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?!

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites

  • Advertisement