|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I am looking for a way to place multiple fixed size objects, of the same
type, end to end along a spline curve. This is to build a split rail fence
over rolling hills. The spline will follow the curve of the landscape. The
spline usages I have seen utilize time as a factor but I need distance. Any
help in this area is greatly appreciated.
TIA
Dennis
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
trulayne nous apporta ses lumieres en ce 2005-06-01 20:37:
> I am looking for a way to place multiple fixed size objects, of the same
> type, end to end along a spline curve. This is to build a split rail fence
> over rolling hills. The spline will follow the curve of the landscape. The
> spline usages I have seen utilize time as a factor but I need distance. Any
> help in this area is greatly appreciated.
>
> TIA
> Dennis
>
>
Replace the clock dependent index with one generated by a while loop.
Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
That would be fine if distance increments along the spline were not
critical. I need a way to find equal distances along the spline. Such
as...each fence segment needs to be 1 pov unit long....so depending on how
long the spline is, the right amount of fence pieces are connected end to
end and given the right slope. There will be many such splines over the
whole scene of various lengths.
Dennis
"Alain" <ele### [at] netscapenet> wrote in message
news:429e64df$1@news.povray.org...
> trulayne nous apporta ses lumieres en ce 2005-06-01 20:37:
>> I am looking for a way to place multiple fixed size objects, of the same
>> type, end to end along a spline curve. This is to build a split rail
>> fence over rolling hills. The spline will follow the curve of the
>> landscape. The spline usages I have seen utilize time as a factor but I
>> need distance. Any help in this area is greatly appreciated.
>>
>> TIA
>> Dennis
> Replace the clock dependent index with one generated by a while loop.
>
> Alain
Post a reply to this message
|
|
| |
| |
|
|
From: Jim Charter
Subject: Re: Equally spaced objects along a spline curve
Date: 2 Jun 2005 01:39:22
Message: <429e9b8a@news.povray.org>
|
|
|
| |
| |
|
|
trulayne wrote:
> That would be fine if distance increments along the spline were not
> critical. I need a way to find equal distances along the spline. Such
> as...each fence segment needs to be 1 pov unit long....so depending on how
> long the spline is, the right amount of fence pieces are connected end to
> end and given the right slope. There will be many such splines over the
> whole scene of various lengths.
>
There are spline macros by Chris Colefax that do this.
Otherwise afaik you need to do this:
You need to estimate the overall length of the spline
Then you need to define the spline such that the weights in
the spline syntax are proportional to the distance along the spline
that the defining points are relative to the total length.
Then when you walk the spline to place you fence posts the distances
will be more even.
Obviously it all depends on how well you can approximate these proportions.
So...you approximate the length:
#local Len =
vlength (P4-P3)
+vlength (P3-P2)
+vlenght (P2-P1)
+vlength (P1-P0);
Then define the spline
#local Spl =
spline { natural_spline
0/Len P0
vlength(P1-P0)/Len P1
(vlenght(P2-P1)
+vlength(P1-P0))/Len P2
(vlength (P3-P2)
+vlenght (P2-P1)
+vlength (P1-P0))/Len P3
(vlength (P4-P3)
+vlength (P3-P2)
+vlenght (P2-P1)
+vlength (P1-P0))/Len P4
}
Now constant increments in the arguement should
get you more constant distances:
#local I=1;
#while(I<50)
cylinder { Spl(I/50), Spl((I-1)/50), Radius }
#local I=I+1;
#end
This example code is untested but illustrates the principle I mean.
This process then can be used iteratively to refine the approximations
and improve the consistency
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Thank you, Jim. This is just the right tool for my needs.
Dennis
"Jim Charter" <jrc### [at] msncom> wrote in message
news:429e9b8a@news.povray.org...
> trulayne wrote:
>> That would be fine if distance increments along the spline were not
>> critical. I need a way to find equal distances along the spline. Such
>> as...each fence segment needs to be 1 pov unit long....so depending on
>> how long the spline is, the right amount of fence pieces are connected
>> end to end and given the right slope. There will be many such splines
>> over the whole scene of various lengths.
>>
>
>
>
> There are spline macros by Chris Colefax that do this.
>
> Otherwise afaik you need to do this:
>
> You need to estimate the overall length of the spline
>
> Then you need to define the spline such that the weights in
>
> the spline syntax are proportional to the distance along the spline
> that the defining points are relative to the total length.
>
> Then when you walk the spline to place you fence posts the distances will
> be more even.
>
> Obviously it all depends on how well you can approximate these
> proportions.
>
> So...you approximate the length:
> #local Len =
> vlength (P4-P3)
> +vlength (P3-P2)
> +vlenght (P2-P1)
> +vlength (P1-P0);
>
> Then define the spline
> #local Spl =
> spline { natural_spline
> 0/Len P0
>
> vlength(P1-P0)/Len P1
>
> (vlenght(P2-P1)
> +vlength(P1-P0))/Len P2
>
> (vlength (P3-P2)
> +vlenght (P2-P1)
> +vlength (P1-P0))/Len P3
>
> (vlength (P4-P3)
> +vlength (P3-P2)
> +vlenght (P2-P1)
> +vlength (P1-P0))/Len P4
> }
>
> Now constant increments in the arguement should
> get you more constant distances:
>
> #local I=1;
> #while(I<50)
> cylinder { Spl(I/50), Spl((I-1)/50), Radius }
> #local I=I+1;
> #end
>
> This example code is untested but illustrates the principle I mean.
>
> This process then can be used iteratively to refine the approximations and
> improve the consistency
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
trulayne wrote:
> Thank you, Jim. This is just the right tool for my needs.
> Dennis
;)
And I'm sure you are already designing a recursive macro that will take
a predefined spline and refine its definition to user-specified
tolerance for consistency?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |