POV-Ray : Newsgroups : povray.newusers : Lathe question Server Time
2 Nov 2024 13:20:04 EDT (-0400)
  Lathe question (Message 1 to 3 of 3)  
From: Stephen
Subject: Lathe question
Date: 9 May 2004 14:09:17
Message: <409e73cd$1@news.povray.org>
I'm attempting to build a program in PV which will help me plan and design
some woodturning projects, appropriately using the LATHE construction in PV
(as well as my wood lathe). This particular technique is called "inside-out
turning" where four identically square blanks or sticks are packed together
and turned on the lathe. Next, they are unbundled, and individually rotated
by the same amount, then packed back together.  If the rotation is 180
degrees, then what was on the outside, is now on the inside and the new
outside can be turned.

My problem is in the learning curve to use the lathe construction. What I
want is essentially a curve (any curve) on the inside of a cylinder.  I
don't care about the outside, except the wall thickness should be
substantial to eliminate any corners on the square object from which the
lathe is differenced. I am currently not understanding the shape of the
interior of the POV doc on lathe and  bezier_spline object.

Can someone clarify the interior shape or suggest an alternate form of a
hollow cylinder which has curves (coves and beads in woodturning lexicon) on
the inside?


I tried the following which has the same spline scaled, and differenced,
which sorta works, but the wall thickness isn't quite enough and I get
artifacts from the corners of the bundle of sticks where the curve is
extreme.


/* In the following I subtracted 1 from all the X coordinates so the orange
pair were on the Y axis, but otherwise the same as the documentation.*/

/* set the control points to be used */
#declare Red_Point    = <1.00, 1.00>;
#declare Orange_Point = <0.00, 1.50>;
#declare Green_Point  = <1.00, 3.50>;
#declare Blue_Point   = <0.50, 4.00>;
#declare Green_Point2 = <1.00, 4.50>;
#declare Orange_Point2= <0.00, 6.50>;
#declare Red_Point2   = <1.00, 7.00>;

difference {
  lathe {
    bezier_spline
    8,
    Red_Point, Orange_Point, Green_Point, Blue_Point
    Blue_Point, Green_Point2, Orange_Point2, Red_Point2
    scale <6, 1, 1>
    pigment { Cyan }
    }

  lathe {
    bezier_spline
    8,
    Red_Point, Orange_Point, Green_Point, Blue_Point
    Blue_Point, Green_Point2, Orange_Point2, Red_Point2
    scale <3.0, 1, 1>
    pigment { Yellow }
    }
}




Stephen


Post a reply to this message

From: Daniel Hulme
Subject: Re: Lathe question
Date: 9 May 2004 14:34:52
Message: <20040509193451.79e7db44@dh286.pem.cam.ac.uk>
> Can someone clarify the interior shape or suggest an alternate form of
> a hollow cylinder which has curves (coves and beads in woodturning
> lexicon) on the inside?
 
If you continue the spline, making it go inside itself, you get a lathe
with a hole in it (like a vase or drinking glass). To illustrate using
your example:

> /* set the control points to be used */
> #declare Red_Point    = <1.00, 1.00>;
> #declare Orange_Point = <0.00, 1.50>;
> #declare Green_Point  = <1.00, 3.50>;
> #declare Blue_Point   = <0.50, 4.00>;
> #declare Green_Point2 = <1.00, 4.50>;
> #declare Orange_Point2= <0.00, 6.50>;
> #declare Red_Point2   = <1.00, 7.00>;
/* all these points are closer to the axis than the ones above */
#declare   Orange_Point3= <-0.50, 6.50>;
#declare   Green_Point3 = <0.50, 4.50>;
#declare   Blue_Point2  = <-0.50, 4.00>;
#declare   Green_Point4 = <0.50, 3.50>;
#declare   Orange_Point4= <-0.50, 1.50>;
#declare   Red_Point3   = <0.50, 1.00>;
 

>   lathe {
>     bezier_spline
16,
>     Red_Point, Orange_Point, Green_Point, Blue_Point
>     Blue_Point, Green_Point2, Orange_Point2, Red_Point2
Red_Point2, Orange_Point3, Green_Point3, Blue_Point2
Blue_Point2, Green_Point4, Orange_Point4, Red_Point3
>     scale <6, 1, 1>
>     pigment { Cyan }
>     }

I don't think this example really shows what you mean, but hopefully it
should explain the technique.

Hope this is of help,
Daniel Hulme

-- 
The most important thing about a programming language is the name. A
language will not succeed without a name. I have recently invented a
very good name and I am looking for a suitable language.  -- Knuth
http://people.pwf.cam.ac.uk/dh286/publickey.asc  .:.  keyid 885b170d


Post a reply to this message

From: Stephen
Subject: Re: Lathe question
Date: 9 May 2004 17:43:42
Message: <409ea60e@news.povray.org>
OK, here's what I learned about LATHEs today, connecting the inside and
outside, for the benefit of anyone else who wants to know.
The attached code segment isn't fancy but it does illustrate what I'm trying
to do, which, in the shortest description possible, is to
emulate the function of a wood lathe by subtracting a curve from a square
times n-length box (typical woodturning process).
Thanks to Daniel for nudging me in the correct direction.


// INSIDE curve of the approximately cylindrical object which I use to
difference from a box
#declare Red_Point    = < 0.70, 1.00>;
#declare Green_Point  = < 0.45, 2.50>;
#declare Orange_Point = < 0.95, 3.00>;

#declare Blue_Point   = < 1.00, 4.00>;

#declare Orange_Point2= < 0.95, 5.00>;
#declare Green_Point2 = < 0.45, 5.50>;
#declare Red_Point2   = < 0.70, 7.00>;

// OUTSIDE of the approximately cylindrical object is a straight line for
the "outside" which I don't care about
#declare Red3         = < 2.00, 1.00>;          // FOR TESTING, make all the
X = 0 so this straight line is in the center Y axis
#declare Green3       = < 2.00, 4.00>;        // and therefore all the other
points are greater which places the curves on the outside
#declare Blue3        = < 2.00, 7.00>;          // so they may be viewed.


#declare Lathe1 =
difference {

box { < -1, 0, -1>, <1, 8, 1> pigment {Blue}}

   lathe {
     bezier_spline
     12,
     Red3, Green3, Green3, Blue3                          // this is a
straight line for the "outside" which I don't care about
     Red_Point, Orange_Point, Green_Point, Blue_Point     // this is the
curve on the inside
     Blue_Point, Green_Point2, Orange_Point2, Red_Point2
     }

}

object {Lathe1}


Stephen


"Stephen" <pennyhedron at shaw dot ca> wrote in message
news:409e73cd$1@news.povray.org...
> I'm attempting to build a program in PV which will help me plan and design
> some woodturning projects, appropriately using the LATHE construction in
PV
> (as well as my wood lathe). This particular technique is called
"inside-out
> turning" where four identically square blanks or sticks are packed
together
> and turned on the lathe. Next, they are unbundled, and individually
rotated
> by the same amount, then packed back together.  If the rotation is 180
> degrees, then what was on the outside, is now on the inside and the new
> outside can be turned.
>
> My problem is in the learning curve to use the lathe construction. What I
> want is essentially a curve (any curve) on the inside of a cylinder.  I
> don't care about the outside, except the wall thickness should be
> substantial to eliminate any corners on the square object from which the
> lathe is differenced. I am currently not understanding the shape of the
> interior of the POV doc on lathe and  bezier_spline object.
>
> Can someone clarify the interior shape or suggest an alternate form of a
> hollow cylinder which has curves (coves and beads in woodturning lexicon)
on
> the inside?
>
>
>


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.