POV-Ray : Newsgroups : povray.advanced-users : Apparent circular pattern of scratches : Re: Apparent circular pattern of scratches Server Time
24 Feb 2024 23:36:34 EST (-0500)
  Re: Apparent circular pattern of scratches  
From: omniverse
Date: 23 Jan 2019 03:50:01
Message: <web.5c482a255e3f44509c5d6c810@news.povray.org>
Thomas de Groot <tho### [at] degrootorg> wrote:
> On 23-1-2019 1:46, Bald Eagle wrote:
> > I'm sure everyone has seen this at some point:
> >
> > When you look at a light source's reflection on a smooth piece of glass or metal
> > or plastic, the scratches all tend to appear as a series of arcs and lines
> > roughly in a circular pattern centered around the "hotspot".
> >
> > I was wondering if anyone has ever attempted to replicate this effect, and
> > perhaps has an optical explanation for why the scratches appear in a circular
> > pattern.
> >
> >
> >
https://st.depositphotos.com/1032492/3139/i/950/depositphotos_31397463-stock-photo-texture-of-scratched-metal-surfa
ce.j
> > pg
>
> This one gets 404.

Just needs the lopped off "pg" added to end. Same object as 2nd below, a smaller
size.

> > https://thumbs.dreamstime.com/thumblarge_2060/20605588.jpg
> >
> > http://cpi.studiod.com/getty/caf73bdee00eeaa57d5e24c213f6b09c.jpg
> >
> >
http://www.performancemotorcare.com/blog/wp-content/uploads/2011/06/How_to_avoid_swirl_marks.jpg
> >
> > https://www.wavesdetailpro.com.au/wp-content/uploads/2017/08/poi-1.jpg
> >
> > ..... you get the idea.
> >
> >
>
> Let me try an explanation: assuming that all scratches are randomly
> orientated, only those parallel(?) to the light source get reflected
> maximally, all others are dimmer or - when perpendicular to the light
> source - do not reflect at all.
>
> --
> Thomas

Not sure if that would be the way to put it, since mainly perpendicular
scratches are what reflect light most. Not parallel to the viewer/camera and
light source, because that would be along a line of view... I think.

Anyway... yes, this was something tried many years ago by me at least. I'm sure
others did too, probably before I ever did.

I couldn't locate a scene file of mine, and no luck finding anything online
either, so I retried something similar again now. Was to see how reflected light
formed those circular areas among twigs and thin branches (wet/icy is best).

So not exactly the scratches idea, mainly to show the effect on 'sticks', but I
did try that too and failed. My feeble attempt at a scene file here, notice the
white highlights on the sticks formed around the white sphere light_source:

// BEGIN SCENE FILE
//cmd: +w640 +h480 +am2 +a0.2 +r2

#version 3.7;
global_settings{ assumed_gamma 1.0 }

camera {
 perspective angle 90
 location <1.0, 3.0, -9.0>
    right x*image_width/image_height
    look_at <2.0, 3.0, 4.0>
}

light_source{< -6,-1,-9> color rgb <1,0,0> }

light_source{< 6,3,9> color rgb 1
 looks_like {sphere {0,1 pigment {rgb 1} finish {emission 1}}}
 area_light 1*x,1*y,8,8 area_illumination}

sky_sphere { pigment { gradient <0,1,0>
                       color_map { [0.0 rgb <0.3,0.2,0.1>]
                                   [0.2 rgb <0.1,0.1,0.1>]
                                   [0.5 rgb <0.0,0.0,0.0>]
                                   [1.0 rgb <0.2,0.3,0.5>]
                                 }
                       scale 2
                     }
           }

// checkered floor
plane{ <0,1,0>, 0
       texture{
        pigment{
        checker color rgb <0.5,0.5,0.5> color rgb <0.1,0.1,0.1>
        scale 5
        }
        finish { phong 0.1}
       }
       translate -9*y
     }

// random sticks
    #for (R,1,333)
    #local S=seed(R*9);
    #local Rx=rand(S)*9;
cylinder {
 -x,x,1
    scale <3*Rx,0.1,0.1>
 texture {
  pigment {rgb 0}
  finish {specular 1 roughness 0.05}
 }
    rotate <0,90,180>*Rx
 translate <3*Rx,2*Rx,1*Rx>
    rotate <360,360,360>*Rx
    //scale 0.5
    translate <-3,1,13>
}
    #end

// reflective sphere with scratches/bumps?
sphere { <0,0,0>, 1.0 scale <1,1,1>
 texture { pigment {rgb 0}
     normal {
         average
                normal_map {
                #for (R,1,33) //create axis lines, rotate randomly
     #local S=seed(R);
                 #local Rx=rand(S)*3;
                     [1 function {(x)} bump_size 1 ramp_wave
                     frequency 33 rotate <0,360,360>*Rx]
                     [1 function {(y)} bump_size 1 ramp_wave
                     frequency 33 rotate <360,0,360>*Rx]
                     [1 function {(z)} bump_size 1 ramp_wave
                     frequency 33 rotate <360,360,0>*Rx]
                    #end
                }
     }
     finish {
            specular 1 roughness 0.02 reflection {0.1,0.9}
     }
 }
 scale 3 rotate <0,0,0> translate <-3,1.5,3>
}

// reflective cylinder with curved scratches/bumps?
cylinder { <0,0,0>, <0,0,1>, 1.0 scale <1,1,1>
 texture { pigment {rgb 0}
     normal {
         average
                normal_map {
                #for (R,1,33) //create axis lines, rotate randomly
     #local S=seed(R);
                 #local Rx=rand(S)*3;
                     [1
                     //function {(x)}
                     onion scale <11,1,1>
                     bump_size 1 ramp_wave
                     frequency 50 rotate <0,360,360>*Rx]
                     [1
                     //function {(x)}
                     onion scale <1,11,1>
                     bump_size 1 ramp_wave
                     frequency 50 rotate <360,0,360>*Rx]
                     [1
                     //function {(x)}
                     onion scale <1,1,11>
                     bump_size 1 ramp_wave
                     frequency 50 rotate <360,360,0>*Rx]
                    #end
                }
     }
     finish {
            specular 1 roughness 0.02 reflection {0.1,0.9}
     }
 }
 scale 4 rotate <-10,-15,0> translate <-4,-6,6>
}
// END SCENE FILE


Post a reply to this message

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