|
|
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
|
|