|
![](/i/fill.gif) |
"Slime" <fak### [at] email address> wrote:
> > How can I calculate '<0, 0.7071, -0.7071>' SurfaceNormal1 ?
>
> If all you have is a single triangle, you can use any vector for the normal
> of a vertex. Use what looks good.
>
> If you have multiple triangles connected at a single vertex, you typically
> use the average of all of the triangle's normals as the normal for that
> vertex. To do this, you take the normal of each triangle, which can be
> calculated by a cross product between the vectors forming two sides of that
> triangle:
>
> (triangle consists of v1, v2, v3)
> normal = vnormalize(vcross(v2 - v1, v3 - v1));
>
> To get the average of all the triangle's normals, add them together and
> vnormalize() the result.
>
> - Slime
> [ http://www.slimeland.com/ ]
Thanks for topiks. is this code correct?
global_settings {
assumed_gamma 1.5
max_trace_level 5
ambient_light rgb< 0.99609375,0.99609375,0.99609375>
}
#include "colors.inc"
#include "textures.inc"
#include "glass.inc"
#include "woods.inc"
#include "shapes.inc"
#include "metals.inc"
#include "woodmaps.inc"
#include "stones.inc"
#include "skies.inc"
//*Işık
//--------------------------------------------------------------
//------------------------------------------------------------------------
light_source {<-3.9,6.04020933313238,2.5>
color rgb <1,1,1>*1
fade_distance 2000
fade_power 1
}
//*camera //--------------------------------------------------------------
//------------------------------------------------------------------------
camera {
location <-8.4612620107387,4.23118150919749,-2.71953991167386>
look_at <-6.3,1.67916373510155,-0.7>
}
#declare Gri = material {
texture {
pigment { color rgbf <0.765625,0.765625,0.765625,0>}
finish{
ambient 0
reflection {
}
}
}
}
#declare v1=<-6.3,1.67916373510155,-0.1>;
#declare v2=<-5.1,1.60116644662657,-0.1>;
#declare v3=<-4.4,0.327210734868637,0>;
#declare n1=vnormalize(vcross(v2 - v1, v3 - v1));
smooth_triangle { v1 n1 v2 n1 v3 n1
material { Gri scale 1 }
no_reflection
}
#declare v1=<-7.2,0.561202600293564,0>;
#declare v2=<-6.3,1.67916373510155,-0.1>;
#declare v3=<-4.4,0.327210734868637,0>;
#declare n1=vnormalize(vcross(v2 - v1, v3 - v1));
smooth_triangle { v1 n1 v2 n1 v3 n1
material { Gri scale 1 }
no_reflection
}
#declare v1=<-7.2,0.561202600293564,0>;
#declare v2=<-7.2,0.561202600293564,-0.8>;
#declare v3=<-6.3,1.67916373510155,-0.7>;
#declare n1=vnormalize(vcross(v2 - v1, v3 - v1));
smooth_triangle { v1 n1 v2 n1 v3 n1
material { Gri scale 1 }
no_reflection
}
#declare v1=<-6.3,1.67916373510155,-0.1>;
#declare v2=<-7.2,0.561202600293564,0>;
#declare v3=<-6.3,1.67916373510155,-0.7>;
#declare n1=vnormalize(vcross(v2 - v1, v3 - v1));
smooth_triangle { v1 n1 v2 n1 v3 n1
material { Gri scale 1 }
no_reflection
}
#declare v1=<-5.1,1.60116644662657,-0.1>;
#declare v2=<-6.3,1.67916373510155,-0.1>;
#declare v3=<-6.3,1.67916373510155,-0.7>;
#declare n1=vnormalize(vcross(v2 - v1, v3 - v1));
smooth_triangle { v1 n1 v2 n1 v3 n1
material { Gri scale 1 }
no_reflection
}
#declare v1=<-5.1,1.60116644662657,-0.1>;
#declare v2=<-6.3,1.67916373510155,-0.7>;
#declare v3=<-5.1,1.60116644662657,-0.7>;
#declare n1=vnormalize(vcross(v2 - v1, v3 - v1));
smooth_triangle { v1 n1 v2 n1 v3 n1
material { Gri scale 1 }
no_reflection
}
#declare v1=<-5.1,1.60116644662657,-0.1>;
#declare v2=<-5.1,1.60116644662657,-0.7>;
#declare v3=<-4.4,0.327210734868637,-0.8>;
#declare n1=vnormalize(vcross(v2 - v1, v3 - v1));
smooth_triangle { v1 n1 v2 n1 v3 n1
material { Gri scale 1 }
no_reflection
}
#declare v1=<-4.4,0.327210734868637,0>;
#declare v2=<-5.1,1.60116644662657,-0.1>;
#declare v3=<-4.4,0.327210734868637,-0.8>;
#declare n1=vnormalize(vcross(v2 - v1, v3 - v1));
smooth_triangle { v1 n1 v2 n1 v3 n1
material { Gri scale 1 }
no_reflection
}
#declare v1=<-5.1,1.60116644662657,-0.7>;
#declare v2=<-6.3,1.67916373510155,-0.7>;
#declare v3=<-4.4,0.327210734868637,-0.8>;
#declare n1=vnormalize(vcross(v2 - v1, v3 - v1));
smooth_triangle { v1 n1 v2 n1 v3 n1
material { Gri scale 1 }
no_reflection
}
#declare v1=<-6.3,1.67916373510155,-0.7>;
#declare v2=<-7.2,0.561202600293564,-0.8>;
#declare v3=<-4.4,0.327210734868637,-0.8>;
#declare n1=vnormalize(vcross(v2 - v1, v3 - v1));
smooth_triangle { v1 n1 v2 n1 v3 n1
material { Gri scale 1 }
no_reflection
}
Post a reply to this message
|
![](/i/fill.gif) |