![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3c761b7b@news.povray.org>, Warp <war### [at] tag povray org>
wrote:
> I strongly disagree.
So do I.
> Suppose that you are making a spline with evenly-distributed time values:
Suppose you aren't.
I agree that this would be a nice option, but it isn't possible right
now, and macro solutions are available. In the meantime, having the time
values user-defined is far better than the spline forcing its own
distribution. I generally don't construct splines the way you do, I
define a few points that I want the spline to reach by a certain time,
and fill in the blanks. The current syntax makes that quite easy, I can
take a straight segment and add all sorts of loops and twists without
having to add points elsewhere just to keep the distribution right. And
the spline syntax has room for plenty of future extension. As it is now,
it can provide a useful base for many spline macros, and is capable of
many things macros can't do.
--
Christopher James Huff <chr### [at] mac com>
POV-Ray TAG e-mail: chr### [at] tag povray org
TAG web site: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3c75fe70@news.povray.org>, Warp <war### [at] tag povray org>
wrote:
> Why have an unfinished internal implementation with a lot to be desired
> when there are excellent spline include files out there which support the
> same features and a lot more, and are even easier to use?
I haven't seen any that are as easy to use, none that can do all the
same things (the big limitation: spline functions). And all will be a
lot slower. There's room for improvement, but what's there is a good
start, and is very useful as is.
--
Christopher James Huff <chr### [at] mac com>
POV-Ray TAG e-mail: chr### [at] tag povray org
TAG web site: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Rune <run### [at] mobilixnet dk> wrote:
> If you do want evenly distributed values, use a macro that takes an array as
> input and fills in the time values for you.
That's what I am doing right now. I'm using Colefax's spline macros.
> There you go, an easy solution
> both with and without evenly distributed values. Tell me again how you do
> that without the spline feature?
You didn't get my point: I was complaining about *forcing* each time value
to be specifically written.
My suggestion was that time values were *optional*, and if a time value
for a certain point is not given, it's calculated automatically by
interpolation/extrapolation.
This would make splines a lot nicer to use.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Christoph Hormann <chr### [at] gmx de> wrote:
> http://www.econym.demon.co.uk/isotut/more.htm
That's a very clever use for it.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Christopher James Huff <chr### [at] mac com> wrote:
> There's room for improvement, but what's there is a good
> start, and is very useful as is.
Yes, but what I am saying is that the improvements should be made *now*,
not some time in the future, because improvements will most probably need
a syntax change which will break backwards compatibility.
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Mark Wagner <mar### [at] gte net> wrote:
>> By the way, any chance of making the time values optional?
> No. The time for feature requests is over, particularly for difficult
> feature requests such as this.
Adding support for catmull-rom splines was a feature request, which is
being considered.
I was just suggesting that as someone is going to make changes to the
spline code anyways, if he could go a bit further.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3c77e8b4@news.povray.org>, Warp <war### [at] tag povray org>
wrote:
> Yes, but what I am saying is that the improvements should be made *now*,
> not some time in the future, because improvements will most probably need
> a syntax change which will break backwards compatibility.
I don't think so...it would be fairly easy to support the current syntax
along with a new one. Brackets (either {} or []) could be added now to
prevent having to do this though...I'd use [] for consistency with
*_maps.
--
Christopher James Huff <chr### [at] mac com>
POV-Ray TAG e-mail: chr### [at] tag povray org
TAG web site: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Warp" wrote:
> You didn't get my point: I was complaining about
> *forcing* each time value to be specifically written.
I think you didn't get my point: You are not forced to specifically write
each time value when you can have a macro do it for you.
Rune
--
3D images and anims, include files, tutorials and more:
Rune's World: http://rsj.mobilixnet.dk (updated Feb 16)
POV-Ray Users: http://rsj.mobilixnet.dk/povrayusers/
POV-Ray Webring: http://webring.povray.co.uk
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Rune <run### [at] mobilixnet dk> wrote:
> I think you didn't get my point: You are not forced to specifically write
> each time value when you can have a macro do it for you.
I think it would be quite difficult and a bit cumbersome to make a
macro which supports optional time values (ie. any point can have a time
value or not).
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Warp" wrote:
> I think it would be quite difficult and a bit
> cumbersome to make a macro which supports optional
> time values (ie. any point can have a time value or not).
Then we must make such a macro and include it in the standard distribution
so the user don't have to fiddle with it. I volunteer to make it.
Rune
--
3D images and anims, include files, tutorials and more:
Rune's World: http://rsj.mobilixnet.dk (updated Feb 16)
POV-Ray Users: http://rsj.mobilixnet.dk/povrayusers/
POV-Ray Webring: http://webring.povray.co.uk
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |