|
|
Alain <kua### [at] videotronca> wrote:
> > scott <sco### [at] scottcom> wrote:
> >>> Hello,everyone.I am a student.I am doing my graduation project recently.It is
> >>> simulating radiance with ray-tracing.I have done a test with pov.But I am
> >>> confronting a error with my result.Could anyboby help me check out my issue.Beg
> >>> a hot.I am a student.I am confronting the pressure of graduation.I feel so
> >>> worry.I have uploaded the whole process of my test,beg a hot help me!
> >>> "pov-xyz"is the location of each sphere.
> >>> "pov-ref"is the reflectivity of each sphere.
> >>> "pov.exr"is the output image by pov.
> >>> I have converted "pov.exr" to "pov.tiff".
> >>> "result"is my analyse.My issue was wrote in it.
> >>> Expecting somebody help me.Great gratitudes!
> >>
> >> Using a specular highlight on tiny spheres is going to give very
> >> unpredictable results, the output pixel value will highly depend on
> >> exactly where the ray hits the sphere compared to the highlight
> >> position. I zoomed in on your scene and rendered it, see attached, I
> >> also changed the background colour to red to highlight the spheres
> >> better. Do you see the problem?
> >>
> >> I would use boxes rather than spheres and use diffuse rather than
> >> specular reflection:
> >>
> >> pigment{color rgb 1}
> >> finish {
> >> ambient 0
> >> diffuse ref
> >> }
> >> }
> >>
> >> That should give much more uniform results and not depend on where each
> >> ray hits the shapes. I don't know if that will solve your problem or not.
> >
> > I have modified the statements and done a test with your advice.I find the
> > result changed,but not what I wanted.Besides,I only have 40000 points ,if I used
> > box as my model, which needs two points to describle,but my input scene is as
> > "pov.tif".One point stands for one object,corresponding,with a reflectity.If I
> > used box,may need two point to descible a object,I doublt the scene is not my
> > wanted.
> >
> >
> >
> >
>
> You can use boxes instead of spheres without doubling the size of your
> file. Curently, you use this code to place your spheres:
> sphere {
> <x1-center_x,y1-center_y,z1-center_z>,1.55
> finish { ambient 0
> emission 0
> specular ref
> }
> }
>
> To use box, just use this code:
> box{-1.55, 1.55 // reduce slightly is you want to keep some gap.
> // The following line is the key...
> translate <x1-center_x,y1-center_y,z1-center_z>
> finish { ambient 0
> emission 0
> specular ref
> }
> }
>
>
> This will give you boxes with a width identical to the diameter of your
> spheres.
>
> Even beter, make an union containing all your objects:
>
> union{
> #fopen Input_geom_file geom_file_name read
> #fopen Input_spec_file spec_file_name read
> #while(defined(Input_geom_file))
>
> #read(Input_geom_file, X1, Y1, Z1)
> #read(Input_spec_file, Ref)
>
> box{-1.55, 1.55 // reduce slightly is you want to keep some gap.
> // The following line is the key...
> translate <X1-Center_X,Y1-Center_Y,Z1-Center_Z>
> }// Remove the texture from the objects
> #end
> // and apply it to all objects at once
> finish { ambient 0
> emission 0
> specular Ref
> }
> }// End of the union
>
> As the variable "n" is never used, I removed it.
>
> Finaly, a general recomendation: In all of your user defined variable,
> use at least ONE upper case letter. This ensure that you don't have any
> conflict with predefined variables and primitive. It also make it clear
> that those are YOUR variables. It can realy help when debugging your code.
>
>
>
>
> Alain
I have 40000 points.It stands for 40000 surfaces.Corresponding,there is 40000
reflecities.Irradiance(w/m^2) is my real solar engry.I expect the result is
radiance(w/m^2*str)or luminance(cd/m^2),but I donot know what it is?And how can
I get my desired?
Post a reply to this message
|
|