|
|
"Allen" <nomail@nomail> wrote:
>
> Maybe, I'm not totally sure about that. The ball itself is around 30units
> in radius. So, if I did a golf stick, it would be like 30*40units tall.
> That's just huge. To get it to the right scale, it just wouldn't work in
> this image. Good idea though.
>
> I have updated the image.
> http://www.cgsphere.com/gallery/details/?submission_id=3330
> Please comment and rate it ^.^
>
I see your new one, while you've resized the image itself properly, the ball
(sphere) should still have the same size as the template. (In the POV
template this is 40 units). Other than that, it looks pretty good and
follows all the other rules. Sorry to make you maybe render it agin.
BTW, why is the render so long? Is it just from the area lighting and focal
blur? Try manual bounding of the CSG of the sphere, sometimes this can help
considerably, especially when you are differencing a whole lot of objects
like the dimples.
-tgq
Post a reply to this message
|
|
|
|
"Trevor G Quayle" <Tin### [at] hotmailcom> wrote:
>
> BTW, why is the render so long? Is it just from the area lighting and focal
> blur? Try manual bounding of the CSG of the sphere, sometimes this can help
> considerably, especially when you are differencing a whole lot of objects
> like the dimples.
>
> -tgq
To follow up on this, I have a similar type object (holes in a shell rather
than dimples) that I've worked on and instead of differencing the holes, I
used blobs (give the dimple blobs a negative strength), and it is *much*
faster.
Compare Ball1 (blobs) to Ball2 (CSG) in the following:
//START
#macro GeodesicBlob(n,R,Obj,k)
#if (n=0)
cylinder{-z,z,Obj,k}
#else
#local nL=pow(2,(n-1));
#local i=-nL;
#while (i<=nL)
#local nS=4*(nL-abs(i));
#if (nS=0)
cylinder{-z,z,Obj,k translate<0,0,-R> rotate x*i*90/nL}
#else
#local j=0;
#while (j<nS)
cylinder{-z,z,Obj,k translate<0,0,-R> rotate x*i*90/nL rotate
y*j*360/nS}
#local j=j+1;
#end
#end
#local i=i+1;
#end
#end
#end
#macro Geodesic(n,R,Obj)
#if (n=0)
cylinder{-z,z,Obj}
#else
#local nL=pow(2,(n-1));
#local i=-nL;
#while (i<=nL)
#local nS=4*(nL-abs(i));
#if (nS=0)
cylinder{-z,z,Obj translate<0,0,-R> rotate x*i*90/nL}
#else
#local j=0;
#while (j<nS)
cylinder{-z,z,Obj translate<0,0,-R> rotate x*i*90/nL rotate
y*j*360/nS}
#local j=j+1;
#end
#end
#local i=i+1;
#end
#end
#end
#declare R0=40;
#declare R2=0.5;
#declare OS=5;
#declare X0=sqrt(pow(R0,2)-pow(OS,2));
#declare OS1=OS*(R0-R2)/R0;
#declare R1=X0*(R0-R2)/R0;
#declare RR=R0-2*R2;
#declare D=0.1;
#declare Ball1=
difference{
blob{
threshold D
sphere{0,RR/sqrt(1-sqrt(D)),1}
GeodesicBlob(5,RR,2,-0.01)
}
bounded_by{sphere{0,40}}
rotate y*40
pigment{rgb 1}
}
#declare Ball2=
difference{
sphere{0,RR}
Geodesic(6,RR,1)
bounded_by{sphere{0,40}}
rotate y*40
pigment{rgb 1}
}
object{Ball2}
//END
-tgq
Post a reply to this message
|
|