POV-Ray : Newsgroups : povray.binaries.images : Basket-weaving (fun with spline objects) Server Time
13 Jul 2025 01:03:46 EDT (-0400)
  Basket-weaving (fun with spline objects) (Message 21 to 30 of 36)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 6 Messages >>>
From: Christoph Hormann
Subject: Re: Isosurface - isotree0012.jpg (1/1)
Date: 27 Oct 2000 18:07:58
Message: <39F9FCBE.8DE00412@schunter.etc.tu-bs.de>


Post a reply to this message

From: Chris Huff
Subject: Re: Isosurface - isotree0012.jpg (1/1)
Date: 29 Oct 2000 09:51:59
Message: <chrishuff-485E0C.09550029102000@news.povray.org>
In article <39F9FC96.7564437C@schunter.etc.tu-bs.de>, 
chr### [at] gmxde wrote:

> And other than your particle patch the efficiency does not suffer 
> that much if you use an external program.

Well, an external program can be a *real* pain when you are doing an 
animation or blindly testing parameters. Perhaps a patch would be worth 
it, even if it were limited to blob components...
Or maybe the patch could allow you to specify macros to use for creating 
each part. That would be the most flexible, but I haven't figured out 
how to do it yet. And I don't know much about L-systems anyway, so I 
couldn't even begin to attempt one.

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: John M  Dlugosz
Subject: Re: Basket-weaving (fun with spline objects)
Date: 14 Jan 2001 22:48:06
Message: <3a6272f6$1@news.povray.org>
I'm interested in wickerwork.  Did this nit ever get an answer from The
Master?

--John

"Phil Clute" <pcl### [at] tiacnet> wrote in message
news:39F3CA55.698E35C0@tiac.net...
> The basket looks great, nice work!
>
> ...and
> I hate to nit-pick, but I circled some spots that look like they
> might be mistakes. The section in green looks like it might be a
> joining area, possibly you intended this. The sections in red looks
> to me like the horizontal part that's supposed to weave under the
> verticle part is actually going through or on top.
>
> (verticle part, horizontal part-- I guess I'm a little rusty on my
> basket weaving tech lingo)
>
>
> --
> Phil
> ...coffee?...yes please! extra sugar,extra cream...Thank you.


----------------------------------------------------------------------------
----


Post a reply to this message

From: John M  Dlugosz
Subject: Re: Basket-weaving (fun with spline objects)
Date: 15 Jan 2001 00:33:59
Message: <3a628bc7@news.povray.org>
"Chris Colefax" <chr### [at] tagpovrayorg> wrote in message
news:39f3b2ee@news.povray.org...
> Created as a sample for my Spline Macro file
> (http://www.geocities.com/ccolefax/spline), using the built-in spline
> objects (no, they're not sphere sweeps...)

Chris, here is the illustration from the thread on p.a-u.

This is a photo of a basket that I was thinking of.


Post a reply to this message


Attachments:
Download 'P0005175-1.JPG' (36 KB)

Preview of image 'P0005175-1.JPG'
P0005175-1.JPG


 

From: Chris Huff
Subject: Re: Basket-weaving (fun with spline objects)
Date: 15 Jan 2001 11:11:54
Message: <chrishuff-5A14A0.11131515012001@news.povray.org>
The texture on the basket needs a little more variation, and your wood 
texture looks fake, maybe if you used the IsoWood include file... ;-)

Looks nice, though rather painful to model...getting those little 
irregularities is a lot easier in real life. Maybe use a macro to 
randomly adjust size of the reeds and add a little imperfection to the 
overall shape of the basket (the eval_pattern(), eval_pigment(), and 
vwarp() functions of MegaPOV might help here)...if you won't be looking 
at it too closely, you may get away with separate parts for the bottom 
and sides, and reeds that intersect each other, but you might want to 
avoid those shortcuts just for "purist" reasons...

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Chris Colefax
Subject: Re: Basket-weaving (fun with spline objects)
Date: 15 Jan 2001 18:36:01
Message: <3a638961@news.povray.org>
"Phil Clute" <pcl### [at] tiacnet> wrote:
> The basket looks great, nice work!
>
> ...and
> I hate to nit-pick, but I circled some spots that look like they
> might be mistakes. The section in green looks like it might be a
> joining area, possibly you intended this. The sections in red looks
> to me like the horizontal part that's supposed to weave under the
> verticle part is actually going through or on top.

John M. Dlugosz <joh### [at] dlugoszcom> wrote:
> I'm interested in wickerwork.  Did this nit ever get an answer from The
> Master?

No, I don't think so...!  Still, there's no time like the present - my best
defence here, as elsewhere, is probably laziness.  That, and the fact that
the scene was created for a purpose (to illustrate certain features of the
Spline Macro File in an attractive way) which I think it serves.

For the most accurate results, I could have defined a spline that followed
the shape of the weft, weaving around each spine of the basket's profile,
adding semi-random variations for thickness and stiffness, etc.  Instead, as
I descried in povray.advanced-users, the entire basket is constructed  using
just four splines, and the weft using a single circular spline - and I can
still say I'm happy with the result!


Post a reply to this message

From: John M  Dlugosz
Subject: Re: Basket-weaving (fun with spline objects)
Date: 15 Jan 2001 19:03:19
Message: <3a638fc7$1@news.povray.org>
>
> No, I don't think so...!  Still, there's no time like the present - my
best
> defence here, as elsewhere, is probably laziness.  That, and the fact that
> the scene was created for a purpose (to illustrate certain features of the
> Spline Macro File in an attractive way) which I think it serves.
>
> For the most accurate results, I could have defined a spline that followed
> the shape of the weft, weaving around each spine of the basket's profile,
> adding semi-random variations for thickness and stiffness, etc.  Instead,
as
> I descried in povray.advanced-users, the entire basket is constructed
using
> just four splines, and the weft using a single circular spline - and I can
> still say I'm happy with the result!
>

I think the green "imperfections" are just fine, mimicing the seam on real
weaving.  The red marks just look funny.

adding semi-random variations... how can we manage that with your macro?
Iterate the basic shape and peterb a tad?  Use blobs so everything flows
together nicely instead of torii which have to match the spec?

--John


Post a reply to this message

From: Chris Colefax
Subject: Re: Basket-weaving (fun with spline objects)
Date: 15 Jan 2001 19:18:52
Message: <3a63936c@news.povray.org>
John M. Dlugosz <joh### [at] dlugoszcom> wrote:
> I think the green "imperfections" are just fine, mimicing the seam on real
> weaving.  The red marks just look funny.
>
> adding semi-random variations... how can we manage that with your macro?
> Iterate the basic shape and peterb a tad?  Use blobs so everything flows
> together nicely instead of torii which have to match the spec?

The Spline Macro File offers the framework in which to create your own,
completely custom spline-based object creation routines, without having to
worry about looping through and evaluating the spline itself (if you don't
want to).  This can include perturbing the shape of the spline and using
blobs, or using the torus_arc () sub macro with semi-random parameters.  Or,
you could algorithmically define a spline that followed the exact shape of
the weaving, e.g.:


   #declare SplinePoints = array[NumberOfStruts*2]

   #declare C = 0; #while (C < NumberOfStruts)
      #declare SplinePoints[C] = [alternating sides of adjacent struts];
   #declare C = C + 1;
      #declare SplinePoints[C] = [direction of weave];
   #declare C = C + 1; #end

   #declare WeaveSpline = create_spline (SplinePoints,
create_hermite_spline)

Using the hermite spline option means we can set a list of points and spline
directions/tangents.  In the loop that defines the points and tangents you
can add variations to either as you like.


Post a reply to this message

From: John M  Dlugosz
Subject: Re: Basket-weaving (fun with spline objects)
Date: 15 Jan 2001 21:46:12
Message: <3a63b5f4$1@news.povray.org>
> Looks nice, though rather painful to model...getting those little
> irregularities is a lot easier in real life. Maybe use a macro to
> randomly adjust size of the reeds and add a little imperfection to the
> overall shape of the basket (the eval_pattern(), eval_pigment(), and
> vwarp() functions of MegaPOV might help here)...if you won't be looking
> at it too closely, you may get away with separate parts for the bottom
> and sides, and reeds that intersect each other, but you might want to
> avoid those shortcuts just for "purist" reasons...

Thanks for the pointers to eval... I'll look them up.

Here is a first cut at weaving.  This is like the bottom of the basket photo
in a few important ways.  I see the splines are rippled, though -- the
individual torii don't exactly line up, I guess.  It's not like other macros
where the component shapes are designed to meet perfectly.  I need a =lot=
of segments to make it smooth (enough), and the rendering slows down right
off the bat, so I suspect the bounding boxes aren't working as well as they
ought to.

--John


Post a reply to this message


Attachments:
Download 'test2.jpg' (14 KB)

Preview of image 'test2.jpg'
test2.jpg


 

From: Chris Colefax
Subject: Re: Basket-weaving (fun with spline objects)
Date: 16 Jan 2001 18:23:00
Message: <3a64d7d4@news.povray.org>
John M. Dlugosz <joh### [at] dlugoszcom> wrote:
> Here is a first cut at weaving.  This is like the bottom of the basket
photo
> in a few important ways.  I see the splines are rippled, though -- the
> individual torii don't exactly line up, I guess.  It's not like other
macros
> where the component shapes are designed to meet perfectly.  I need a =lot=
> of segments to make it smooth (enough), and the rendering slows down right
> off the bat, so I suspect the bounding boxes aren't working as well as
they
> ought to.

Each torii segment starts with the tangent that the previous segment ended
with, so the results certainly should be smooth.  This continuation of
tangents, however, can cause some rippling, like a sine wave along the
spline.  This is precisely the effect I used in the original basket at the
beginning of this thread, and also for the attached render.  This uses torus
pipe splines for the cross bars and weft, both with slightly randomised
starting tangents so they do ripple along their lengths.

As you can see in the code below, only one spline is used, a straight line
along the x-axis.  Note also the spline continuity of 1 - this ensures a
regular spacing of spline points in time and space.  Without the option, the
points will bunch up at the beginning and end of the spline (a natural
property of cubic splines).

If, however, you are using a spline that follows the shape of the weft up
and down between the bars, I might suggest you look at using blob splines -
these can be squashed and stretched, and many components (spline steps) can
be used with quite reasonable render times.  If you cut and paste the
contents of the blob_spline () macro into your own macro, you can modify the
spline_object () code to randomise the position, size and/or orientation of
each component, reusing a single spline rather than declaring separate
splines for each weft.

// Code for attached render

#include "spline\spline.mcr"

#declare BSpline = create_spline (array[3] {-x*5, x*0, x*5},
spline_continuity (1))

#declare BTexture = texture {
   pigment {rgb 1}
   normal {wood -.02 scallop_wave turbulence .3 scale <.05, .05, .5>}
   finish {brilliance .8 ambient .1 diffuse .8}
   }

#declare R1 = seed(0);

union {
   #declare X = -4.5; #while (X < 5)
      union {torus_pipe_spline (BSpline,
         spline_rotate (-y*90)
         + initial_torus_tangent (z + (<rand(R1), rand(R1),
rand(R1)>-.5)*.1)
         + spline_radius (.1)
         + spline_steps (int(3 + rand(R1)*5))
         )
         scale <1, .7, 1>
         translate x*X
         texture {BTexture translate <rand(R1), rand(R1), rand(R1)>*100}
         }
   #declare X = X + 1; #end

   #declare T = 1;
   #declare Z = -4.5; #while (Z < 5)
      union {torus_pipe_spline (BSpline,
         initial_torus_tangent (<1, .4, 0> + (<rand(R1), rand(R1),
rand(R1)>-.5)*.1)
         + spline_radius (.05)
         + spline_steps (10)
         )
         scale <1, T, 6>
         translate z*Z
         texture {BTexture rotate y*90 translate <rand(R1), rand(R1),
rand(R1)>*100}
         }
      #declare T = (T = 1 ? -1 : 1);
   #declare Z = Z + 1; #end
   }


Post a reply to this message


Attachments:
Download 'cc_weaving.jpg' (33 KB)

Preview of image 'cc_weaving.jpg'
cc_weaving.jpg


 

<<< Previous 10 Messages Goto Latest 10 Messages Next 6 Messages >>>

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