POV-Ray : Newsgroups : povray.newusers : Glowing Plasma Server Time
23 Nov 2024 14:30:02 EST (-0500)
  Glowing Plasma (Message 1 to 5 of 5)  
From: Arcalon
Subject: Glowing Plasma
Date: 6 Jun 2013 10:45:00
Message: <web.51b09fd12f1e8618bd6dd4370@news.povray.org>
Hi guys,

I am trying to model some glowing plasma, like in
http://www.wsz-whv.de/wp-content/uploads/2011/01/3.jpg or
http://www.roboterschweissen.net/images/3d_plasmaschneiden2_gross.jpg.

My first approach was using a union of pointlights:
union{
        light_source{-0.5*y, color rgb<1,1,1>}
        light_source{-0.5*y, color rgb<1,0,1>}

}
This approach has a nice glowing effect, however I do not have the possibility
to model the "actual" light. As seen in the example, the light has to occlude
the top of the plasma cutter. Moreover it has an oval shape.

To have more possibilities shaping the light I tried using object-media in union
with a light_source:
 union{
 sphere
 { 0,0.5 scale <1,1.5,1>
 pigment { rgbt 1 } hollow
   interior
   { media
     { emission 1
       density
       { spherical density_map
         { [0 rgb 0]
           [0.1 rgb <.5,.1,.5>]
           [0.2 rgb <1,.8,1>]
           [1 rgb 1]
         }
       }
     }
  }
 }
 light_source{0, color rgb<1,0,1>}
 }

But I am not really confident with the results. Do you have any advice?


Post a reply to this message

From: Alain
Subject: Re: Glowing Plasma
Date: 6 Jun 2013 14:24:04
Message: <51b0d3c4$1@news.povray.org>

> Hi guys,
>
> I am trying to model some glowing plasma, like in
> http://www.wsz-whv.de/wp-content/uploads/2011/01/3.jpg or
> http://www.roboterschweissen.net/images/3d_plasmaschneiden2_gross.jpg.
>
> My first approach was using a union of pointlights:
> union{
>          light_source{-0.5*y, color rgb<1,1,1>}
>          light_source{-0.5*y, color rgb<1,0,1>}
>
> }

Also, you never actualy see the light_source itself, just it's effect 
and the highlights is cause.

> This approach has a nice glowing effect, however I do not have the possibility
> to model the "actual" light. As seen in the example, the light has to occlude
> the top of the plasma cutter. Moreover it has an oval shape.
>
> To have more possibilities shaping the light I tried using object-media in union
> with a light_source:
>   union{
>   sphere
>   { 0,0.5 scale <1,1.5,1>
>   pigment { rgbt 1 } hollow
>     interior
>     { media
>       { emission 1
>         density
>         { spherical density_map
>           { [0 rgb 0]
>             [0.1 rgb <.5,.1,.5>]
>             [0.2 rgb <1,.8,1>]
>             [1 rgb 1]
>           }
>         }
>       }
>    }
>   }
>   light_source{0, color rgb<1,0,1>}
>   }
>
> But I am not really confident with the results. Do you have any advice?
>
>

In your case, emissive media is the way to go. After all, that plasma is 
emissive and a gaz that media is meant to simulate.
You may want to combine it with an area_light as the media itself will 
NOT shed any light on it's environment in a normal scene, but will get 
reflected on reflective surfaces. For that, you need to use the 
radiosity feature with the option "media on".

Your media and it's container are OK, but could be coded in a beter way:
Always create your container at the origin. Many patterns are relative 
to the origin.
As you use a spherical pattern, you should start with a sphere of radius 
1 as it's the extent of that pattern.
It may be interesting to add some turbulence. In this case, you need to 
make the container larger. If you use turbulence 0.5, then a container 
of radius 1.5 should be large enough.
Apply any scaling AFTER you add your media. That way, the media will get 
scalled toggether with it's container. In your case, it will make the 
media ellipsoid.
Next, rotate the container if needed, and lastly, apply any translation 
needed to place the media in it's desired location.

To increase the quality of your media, change the samples value. It 
default to 10. For emissive media, samples 500 is not so slow... but is 
probably overkill.

If the media is emissive snough, it will hide what is beheind it. You 
may eventualy want to add some absorbing or scattering media. You can 
have many medias in any single container, but normaly, a plasma don't 
cause any shadow.

Personaly, I'd change the light to an area_light like this:

light_source{0 color rgb<1,0,1> area_light 0.6*x 0.6*z 9 9 circular 
orient adaptive 0}

If you use version 3.7 (and you realy should), you have the new 
area_illumination option that works great and can imporve your result.

circular and orient make the light act as if it was a sphere sheding light.
adaptive 0 make the area_light render MUCH faster.
There should be no need to use adaptive 1 in your case. The value after 
adaptive is NOT a boolean switch, but the minimal number os subdivision 
if the array of lightlets.

For the various metallic parts, you should try to use blured reflection.
Add a normal statement using a buzzy pigment, like granite, scalled very 
small and render using antialiasing. You modulate the intensity of the 
bluring by changing the strenght if the normal, like granite 0.1 scale 
0.00001. You can also use unevent scaling to get a brushed effect.
If you use reflection bluring, you can use a much tighter specular or 
phong highlighting as the bluring will affect those highlights.

You may try radiosity.
Initialy, just add radiosity{} in your global_settings block to enable 
radisoity using the defdault values.




Alain


Post a reply to this message

From: Arcalon
Subject: Re: Glowing Plasma
Date: 7 Jun 2013 03:05:04
Message: <web.51b184f32610dbabd6dd4370@news.povray.org>
Alain <kua### [at] videotronca> wrote:

> > Hi guys,
> >
> > I am trying to model some glowing plasma, like in
> > http://www.wsz-whv.de/wp-content/uploads/2011/01/3.jpg or
> > http://www.roboterschweissen.net/images/3d_plasmaschneiden2_gross.jpg.
> >
> > My first approach was using a union of pointlights:
> > union{
> >          light_source{-0.5*y, color rgb<1,1,1>}
> >          light_source{-0.5*y, color rgb<1,0,1>}
> >
> > }
>
> Also, you never actualy see the light_source itself, just it's effect
> and the highlights is cause.
>
> > This approach has a nice glowing effect, however I do not have the possibility
> > to model the "actual" light. As seen in the example, the light has to occlude
> > the top of the plasma cutter. Moreover it has an oval shape.
> >
> > To have more possibilities shaping the light I tried using object-media in union
> > with a light_source:
> >   union{
> >   sphere
> >   { 0,0.5 scale <1,1.5,1>
> >   pigment { rgbt 1 } hollow
> >     interior
> >     { media
> >       { emission 1
> >         density
> >         { spherical density_map
> >           { [0 rgb 0]
> >             [0.1 rgb <.5,.1,.5>]
> >             [0.2 rgb <1,.8,1>]
> >             [1 rgb 1]
> >           }
> >         }
> >       }
> >    }
> >   }
> >   light_source{0, color rgb<1,0,1>}
> >   }
> >
> > But I am not really confident with the results. Do you have any advice?
> >
> >
>
> In your case, emissive media is the way to go. After all, that plasma is
> emissive and a gaz that media is meant to simulate.
> You may want to combine it with an area_light as the media itself will
> NOT shed any light on it's environment in a normal scene, but will get
> reflected on reflective surfaces. For that, you need to use the
> radiosity feature with the option "media on".
>
> Your media and it's container are OK, but could be coded in a beter way:
> Always create your container at the origin. Many patterns are relative
> to the origin.
> As you use a spherical pattern, you should start with a sphere of radius
> 1 as it's the extent of that pattern.
> It may be interesting to add some turbulence. In this case, you need to
> make the container larger. If you use turbulence 0.5, then a container
> of radius 1.5 should be large enough.
> Apply any scaling AFTER you add your media. That way, the media will get
> scalled toggether with it's container. In your case, it will make the
> media ellipsoid.
> Next, rotate the container if needed, and lastly, apply any translation
> needed to place the media in it's desired location.
>
> To increase the quality of your media, change the samples value. It
> default to 10. For emissive media, samples 500 is not so slow... but is
> probably overkill.
>
> If the media is emissive snough, it will hide what is beheind it. You
> may eventualy want to add some absorbing or scattering media. You can
> have many medias in any single container, but normaly, a plasma don't
> cause any shadow.
>
> Personaly, I'd change the light to an area_light like this:
>
> light_source{0 color rgb<1,0,1> area_light 0.6*x 0.6*z 9 9 circular
> orient adaptive 0}
>
> If you use version 3.7 (and you realy should), you have the new
> area_illumination option that works great and can imporve your result.
>
> circular and orient make the light act as if it was a sphere sheding light.
> adaptive 0 make the area_light render MUCH faster.
> There should be no need to use adaptive 1 in your case. The value after
> adaptive is NOT a boolean switch, but the minimal number os subdivision
> if the array of lightlets.
>
> For the various metallic parts, you should try to use blured reflection.
> Add a normal statement using a buzzy pigment, like granite, scalled very
> small and render using antialiasing. You modulate the intensity of the
> bluring by changing the strenght if the normal, like granite 0.1 scale
> 0.00001. You can also use unevent scaling to get a brushed effect.
> If you use reflection bluring, you can use a much tighter specular or
> phong highlighting as the bluring will affect those highlights.
>
> You may try radiosity.
> Initialy, just add radiosity{} in your global_settings block to enable
> radisoity using the defdault values.
>
>
>
>
> Alain

Thank you for this detailed answer!


Post a reply to this message

From: Arcalon
Subject: Re: Glowing Plasma
Date: 7 Jun 2013 11:30:01
Message: <web.51b1fbf82610dbabd6dd4370@news.povray.org>
Hi,

I have activated radiosity with the default settings and modified my plasma:
union{
        sphere{ 0,1
                pigment { rgbt 1 } hollow
                interior{
                        media{
                                emission 6
                                density{
                                        spherical density_map{
                                                [0 rgb 0]
                                                [0.1 rgb <.5,.1,.5>]
                                                [0.2 rgb <1,.8,1>]
                                                [1 rgb 1]
                                        }
                                }
                        }
                }
        }
        light_source{0 color rgb<1,0,1> area_light 0.6*x 0.6*z 5 5 circular
        orient adaptive 0}
        scale <0.4,.5,.4>
}

The results are now way better. I will check the other advices next week.


Post a reply to this message

From: Alain
Subject: Re: Glowing Plasma
Date: 7 Jun 2013 13:34:13
Message: <51b21995$1@news.povray.org>

> Hi,
>
> I have activated radiosity with the default settings and modified my plasma:
> union{
>          sphere{ 0,1
>                  pigment { rgbt 1 } hollow
>                  interior{
>                          media{
>                                  emission 6
>                                  density{
>                                          spherical density_map{
>                                                  [0 rgb 0]
>                                                  [0.1 rgb <.5,.1,.5>]
>                                                  [0.2 rgb <1,.8,1>]
>                                                  [1 rgb 1]
>                                          }
>                                  }
>                          }
>                  }
>          }
>          light_source{0 color rgb<1,0,1> area_light 0.6*x 0.6*z 5 5 circular
>          orient adaptive 0}
>          scale <0.4,.5,.4>
> }
>
> The results are now way better. I will check the other advices next week.
>
>

Another advice:
Declare your plasma as an object like this:
#declare Plasma=union{.....}

That way, you only have to define ot once if you want yo use several 
plasma "flames".

You can now use "Plasma" by itself to place that object at it's default 
location, or use:
object{Plasma rotate Rotation translate Location}

to place it anywhere you want.

You should place your scale statement before the light. Uneven scaling 
don't play well with circular area_light. It generate a warning and undo 
the uneven scaling. It can result in unexpected behaviour.



Alain


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.