|
|
Thank you so much for the help, I really appreciate it. The idea is to create a
smooth curve passing through the 6 control points. The screenshot that I posted
was a 3d plot obtained using matlab.Now all I need is to shit the the first
point in the negative z direction so that upper half doesn't look larger than
the upper half.
A better version of what I am trying to do can be found in this video.
https://www.cosseratrods.org/videos/RALvideos/Case2-front_view_web.mp4
I have a small favor to ask. any advice on how to make this close to the model
in the video would be great.
Thank you once again.
"m@b" <sai### [at] googlemailcom> wrote:
> On 23/05/2022 1:08 am, Aj wrote:
> > Hello everyone,
> >
> > I created a spline object using the following code, but I could not get the
> > proper camera position. I was wondering if there is some systematic way to
> > figure out the camera position, and angle and look at vectors for a given shape.
> > Or is it just trial and error? Can someone please help me to get the proper
> > camera setup so as to obtain the figure attached:
> >
> >
>
> The points in your sphere_sweep don't plot the figure in the screen
> shot, the points form a more or less straight line in the z direction.
> (1.png) (Points 5 & 6 are the same.)
>
> Looking again at the screen shot, I notice that the 3 axes are at
> different scales. If I apply scaling and rotation to the points I can
> get something like your figure. Scale = <200,10,1> rotate<0,90,0> (2.png)
>
> Note that I have moved the camera to <0,0,-200>, looking at <0,0,0>. I
> find it easier to keep track of x,y,z if the camera is in the minus z
> position.
>
> If you want a point for the camera to look at, you can find the mean
> center of your plot thus:
>
> #declare Thing_max = max_extent(Thing);
> #declare Thing_min = min_extent(Thing);
> #declare Thing_centre = (max_extent(Thing) + min_extent(Thing))/2;
>
> (Red sphere)
>
> ---------------------------------------------------------------
> #include"colors.inc"
> camera {
> //location <-0.0872 , -1.8850 , 4.8301 >*3.5
> location <0,0,-200>
> look_at <0,0,0>
> angle 22
> }
>
>
> light_source { <100,100,-100> color rgb<1,1,1> }
>
> background {color rgb<0.5,0.5,0.5> }
>
> #declare Scale = <200,10,1>;
> //#declare Scale = <1,1,1>;
>
> #declare P01 = Scale*< 0, 0, -20>;
> #declare P02 = Scale*< 2.583e-09,-2.7093e-08, 3>;
> #declare P03 = Scale*< 0.075646, -0.91834, 8.9288>;
> #declare P04 = Scale*< 0.076898, -2.3756, 14.7492>;
> #declare P05 = Scale*<-0.15231, -4.2038, 20.4593>;
> #declare P06 = Scale*<-0.15231, -4.2038, 20.4593>;
>
> #declare Thing = union{
>
> sphere{P01 0.9 pigment{rgb<0,1,0>}}
> sphere{P02 0.9 pigment{rgb<0,1,0>}}
> sphere{P03 0.9 pigment{rgb<0,1,0>}}
> sphere{P04 0.9 pigment{rgb<0,1,0>}}
> sphere{P05 0.9 pigment{rgb<0,1,0>}}
> sphere{P06 0.5 pigment{rgb<0,1,0>}}
>
>
> sphere_sweep {
> //b_spline
> linear_spline
> 6,
> P01,0.5,
> P02,0.5,
> P03,0.5,
> P04,0.5,
> P05,0.5,
> P06,0.5
> tolerance 0.1
> texture{ pigment{ color rgb<0.69,0.99,0.15>}
> finish { phong 1
> ambient 0.3
> }
> }
> //scale<2,2,0.35> rotate<-90,0,0> translate<0,-2,3>
>
> }
>
>
>
> //rotate<0,90,0>
> rotate<-90,0,0>
> }
>
>
> #declare Thing_max = max_extent(Thing);
> #declare Thing_min = min_extent(Thing);
> #declare Thing_centre = (max_extent(Thing) + min_extent(Thing))/2;
>
> sphere{Thing_centre, 1.5 pigment{rgb<1,0,0>} rotate<0,360*clock,0>}
>
> //box{Thing_min, Thing_max pigment{rgbt<1,0,0,0.8>}
> rotate<0,360*clock,0>}
>
> object{Thing rotate<0,360*clock,0>}
Post a reply to this message
|
|