I want to write a program that allows me to simulate the effect of wind on a decorated 3d tree standing outdoors (rocking ornaments and decorations, falling balls, etc.). The program should allow to determine the parameters of the tree, the selection and placement of ornaments and the specification of wind parameters (wind way, average force, gusts, etc.) Does anyone know what libraries or tools I could use I have heard about unity, does anyone have any suggestions?
I have done 3D graphics in c# with Managed DirectX. Nowadays people uses SharpDX and SlimDX instead. I have heard about XNA is easier for doing simple 3D games.
You can also use OpenGl since there are several bindings for C#. Some people find OpenGl simpler to understand than DirectX, and is cross platform.
Unity uses C# as scripting language, the Unity Engine is running the actual simulations. You are mostly configuring and scripting Unity for running your simulation. This is not just a technology to use in your C# project, this is the oposite, a platform for games that uses C# as one technology.
You can do 2D graphics with all the above technologies. For the simulation, in case you do not use Unity or other game engine capable of doing physics simulations, you would need to find or write a rigid body simulation for animating all your moving objects. For animating the tree you would probably need a spring system which is also simple to simulate along rigid bodies.