Difference between revisions of "TODO.../en"
(2 intermediate revisions by the same user not shown) | |||
Line 17: | Line 17: | ||
</ul> | </ul> | ||
− | <h2>Towards speeding up simulation and using correct mass distribution</h2> | + | Rays are useful for things like visibility testing, determining the path of projectiles or light rays, and for <strong>object placement</strong>. |
+ | |||
+ | |||
+ | |||
+ | <h2>Towards speeding up simulation and using correct mass distribution - <strong>OBSOLETE!</strong></h2> | ||
''Particles are not flying, just 'hitting' the blades of propeller<br/>'' | ''Particles are not flying, just 'hitting' the blades of propeller<br/>'' | ||
''Precalculating all needed information before simulation'' | ''Precalculating all needed information before simulation'' | ||
Line 59: | Line 63: | ||
<li>Overall speed up</li> | <li>Overall speed up</li> | ||
</ul> | </ul> | ||
− | <strong>Disadvantages of above | + | <strong>Disadvantages of above method:</strong> |
<ul> | <ul> | ||
<li>some extra memory required and precomputation time</li> | <li>some extra memory required and precomputation time</li> | ||
</ul> | </ul> | ||
+ | |||
== Notes == | == Notes == | ||
<references/> | <references/> |
Latest revision as of 18:47, 27 January 2007
TODO
- Add friction into Propeller joint - force against momentum
- Replace SetMassBox with SetMassSphere with position in correct centre of mass of blade and with radius proportional to area of all triangles multiplied by thickness or blade - constant 0.01
- Use triangulation function from openCV
- Install OpenCV on WinXP
- Start particles only in 2 quadrants - not good... change back or use other model
- Other model: create particles in place of collision (see below)
- Genom:height of vertices (float string) - enabled/disabled vertices (bitstring)
- Make EO alg for rotor shape evolution
- Make ParadisEO alg for rotor shape evolution
- Test PradisEO alg on at least 2 nodes with pvm
- ...
Rays are useful for things like visibility testing, determining the path of projectiles or light rays, and for object placement.
Towards speeding up simulation and using correct mass distribution - OBSOLETE!
Particles are not flying, just 'hitting' the blades of propeller
Precalculating all needed information before simulation
Random particle creation point
- Select random triangle from the 3Mesh - proportionally to its size of in-xz-plane-projected area
probability of selecting particular triangle can be precalculated before simulation loop starts - Project selected triangle into xz plane - <math>\triangle</math> ABC
- Calculate coordinates of centre of gravity X of <math>\triangle</math> ABC
- Choose 1 triangle out of <math>\triangle</math> ABX, <math>\triangle</math> AXC, <math>\triangle</math> XBC
- Calculate another centre of gravity of selected triangle
- Repeat 3 previous steps until distance from center of gravity to nearest vertex is less than some epsilon
- The final point - translate back to 3D and to relative coordinates of the whole body - rotor
Centre of Mass of blade
- Calculate coordinates of centre of gravity and area of each triangle
- Repeat until only 1 point - center of gravity of all triangles remains in set
- Take 2 triangles (centers of gravity) and calculate their composite center of gravity and respective force (in area units)
Summary
Before simulation starts, create following structures and fill it with information
- Area of projection of each triangle
- Centre of gravity of each triangle
- Recursively all centres of gravity of all mini-triangles - Estimated count of points = 3depth of recursion x (count of Δ)
- anything else?
In every simulation step, with roullete wheel /or SUS/<ref>SUS</ref> select one or more triangles and then select random integers from [0, 3depth of recursion) and create sphere objects in that point with velocity vector [0.0, SPEED, 0.0].
After each step destroy all particles
Advantages of above method:
- Particles are used only for collisions, so they don't live outside of collision
- Particles don't hit edges of triangles
- Particles are not hit by blade "from the back", thus blade is not slowed down by unwanted collisions
- Mass distribution in blade participates in shape evaluation (together with momentum and added joint friction)
- Overall speed up
Disadvantages of above method:
- some extra memory required and precomputation time
Notes
<references/>
--- --- --- --- --- RoboWiki: (c) 2006 Robotika.sk --- --- --- --- ---