opinions: tetrahedral vs hexahedral solid volumes
- From: "cr88192" <cr88192@xxxxxxxxxxxxxxxxxx>
- Date: Thu, 31 Jul 2008 13:25:33 +1000
so, this is the question:
do people here think that, in general, tetrahedral or hexahedral solid
volumes are better (for example, in the case of deformable bodies).
what info I have thus far:
tetrahedral volumes tend to be faster;
hexahedral volumes tend to be more accurate.
however:
tetrahedral volumes tend to be easier to construct work with;
each tetrahedron would/could take less space than a hexahedron (6 vs 12
edges, 4 vs 8 vertices, ...);
a tetrahedron can't be deformed into a concave shape (I would think this
could lead to periodic "bizarre" results with hexahedrons, such as internal
volume pressure further deforming the solid or actually reducing its
volume);
....
other concerns:
the system I am imagining will be primarily intended for real-time
simulation (so, less accuracy may be tolerable for the sake of improved
performance, so long as the variance is within reason).
so, my current leaning is towards using tetrahedrons.
another issue is related to the restoration forces.
currently, my idea is to use several attentuation factors: constant, linear,
quadratic, and cubic.
each edge is then treated as a spring, which may be either stretched or
compressed, where I may use either the same attenuation for both, or
different attenuations (possibly allowing for a stretchable but
non-compressible solid, or a compressible but non-stretchable solid, ...),
however, using separate factors I think is both unrealistic and would also
require additional storage.
these spring forces will be applied between the connected edge vertices
(uniformly, or possibly non-uniformly if the vertices have differing mass).
another set of factors will be used for compression and expansion of the
volume, which would be applied to all vertices (as if they were all
connected to a virtual vertex in the centroid). again, there is the issue of
whether or not to use the same attenuation factors for both compression and
expansion, or use the same for both.
another factor is whether or not plastic deformation should also be included
(would likely be applied as a linear rate deformation of the lengths, and
possibly also volume), or have a world where only elastic deformation is
possible (for example, a world of only polyethalene, or one where
polyurathane is also possible...).
the costs would be in terms of needing to store a few additional parameters,
and also would result in additional time being spent on calculations
involving adjusting these parameters.
dealing with many of these parameters could possibly result in needing to
swap out the calculations and storage representations used (for example,
using a different set of calculations for uniform/compression elastic
materials than for non-uniform plastic materials, ...).
then again, if storage were swapped out (for example, all the numerical
components being stored in allocatable arrays), then I could also optionally
hexahedrons fairly cheaply (tetrahedron vs hexahedron being a per-volume
choice).
other remotely possible but more complex issues would involve those of
allowing for "fracture", rudimentary chemical/corrosion simulation, ...
which would likely involve changing the geometry dynamically (fracture
creating new vertices, corrosion splitting volumes and also creating
fracture, ...).
note I may also include a particle engine, which could potentially simulate
gases and fluids (unlikely at present though due to the large performance
demands this would make).
another issue is just how much of all of this I can get by with in a
real-time simulation, but I guess this could be resolved experimentally...
or such...
any thoughts/comments?...
.
- Prev by Date: Re: Question about Pluecker coordinates
- Next by Date: Re: Question about Pluecker coordinates
- Previous by thread: gradient and derivative along it
- Next by thread: polygon on a sphere
- Index(es):