![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
What you see are 250 strands of hair.
The base-positions for these were generated using
the electrostatic-repulsion algorithm I implemented
some days ago.
Each hair uses 15 nodes, which are connected with
springs. Calculating the forces, gravity, hair-strength
etc required approximately 25*50=1250 iterations
to get to this state.
The calculation for this kind of furball is only worth it
if hair has to lie on the floor and needs to stay
out of other objects, otherwise the faster and simpler
algorithm I used in former images is sufficient...
Comments?
--
Tim Nikias
Homepage: http://www.digitaltwilight.de/no_lights/index.html
Email: Tim### [at] gmx de
Post a reply to this message
Attachments:
Download 'furball.jpg' (50 KB)
Preview of image 'furball.jpg'
![furball.jpg](/povray.binaries.images/attachment/%3C3d809cc0%40news.povray.org%3E/furball.jpg?ttop=443840&toff=8750&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tim Nikias wrote:
>
> What you see are 250 strands of hair.
>
> The base-positions for these were generated using
> the electrostatic-repulsion algorithm I implemented
> some days ago.
>
> Each hair uses 15 nodes, which are connected with
> springs. Calculating the forces, gravity, hair-strength
> etc required approximately 25*50=1250 iterations
> to get to this state.
>
> The calculation for this kind of furball is only worth it
> if hair has to lie on the floor and needs to stay
> out of other objects, otherwise the faster and simpler
> algorithm I used in former images is sufficient...
>
> Comments?
Nice, does it have collision detection between the hairs?
Christoph
--
POV-Ray tutorials, IsoWood include,
TransSkin and more: http://www.tu-bs.de/~y0013390/
Last updated 13 Aug. 2002 _____./\/^>_*_<^\/\.______
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nope. I did implement the repulsion-algorithm once, but since I'm
no expert on this field, the hairs would explode...
I know, I should try putting springs between nodes which are too
close, but didn't have the patience to do so yet. That'll be the next
phase.
Before I do that, I want to see how I can combine the two methods
(the dirty easy one I used before and the realistic one now) in order
to speed parsing a little, and put the nodes somewhere near a position
they would finally be if it weren't for obstacles...
--
Tim Nikias
Homepage: http://www.digitaltwilight.de/no_lights/index.html
Email: Tim### [at] gmx de
>
> Nice, does it have collision detection between the hairs?
>
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I look forward to see your next implementations! This one is good! But I
would think twice before touching it with my hand. ;o)
Regards,
Hugo
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tim Nikias wrote:
>
> [...]
>
> Before I do that, I want to see how I can combine the two methods
> (the dirty easy one I used before and the realistic one now) in order
> to speed parsing a little, and put the nodes somewhere near a position
> they would finally be if it weren't for obstacles...
If you don't want to create animations but just want the final result you
could try implementing a gradient descent method. This means you don't
actually integrate the equations of movement but move the nodes according
to the gradient of the potential field of all (static) forces influencing
it. This would avoid the possible instability and oscillation problems
but of course can lead to wrong results as well.
Christoph
--
POV-Ray tutorials, IsoWood include,
TransSkin and more: http://www.tu-bs.de/~y0013390/
Last updated 13 Aug. 2002 _____./\/^>_*_<^\/\.______
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tina!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
If this involves (and I'm pretty sure it does) functions, then
that's a no-no... I didn't have the time yet to fully understand
functions (I know, they're not THAT difficult), and once I
get comfortable with them and really grasp them, I guess
I could tackle a lot of stuff (concerning animations, objects,
repulsion etc)...
But until then, I'd like to stay focussed on what I'm already
capable of, and move further when I've got more time and
less stress...
Still, thanks for the suggestion, I'll keep it in mind.
--
Tim Nikias
Homepage: http://www.digitaltwilight.de/no_lights/index.html
Email: Tim### [at] gmx de
>
> If you don't want to create animations but just want the final result you
> could try implementing a gradient descent method. This means you don't
> actually integrate the equations of movement but move the nodes according
> to the gradient of the potential field of all (static) forces influencing
> it. This would avoid the possible instability and oscillation problems
> but of course can lead to wrong results as well.
>
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I don't get this...
What or who is Tina?
--
Tim Nikias
Homepage: http://www.digitaltwilight.de/no_lights/index.html
Email: Tim### [at] gmx de
> Tina!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thanks! Yeah, this one looks rather "solid"...
--
Tim Nikias
Homepage: http://www.digitaltwilight.de/no_lights/index.html
Email: Tim### [at] gmx de
"Hugo" <hua### [at] post3 tele dk> schrieb im Newsbeitrag
news:3d80a3e0$1@news.povray.org...
> I look forward to see your next implementations! This one is good! But I
> would think twice before touching it with my hand. ;o)
>
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tim Nikias wrote:
>
> If this involves (and I'm pretty sure it does) functions, then
> that's a no-no...
No, it does not (although it could simplify certain things to use
functions, for example you could use the gradient calculation macros from
'math.inc').
Christoph
--
POV-Ray tutorials, IsoWood include,
TransSkin and more: http://www.tu-bs.de/~y0013390/
Last updated 13 Aug. 2002 _____./\/^>_*_<^\/\.______
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |