![](/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 <3b1b53d7@news.povray.org>, Warp <war### [at] tag povray org>
wrote:
> Wouldn't render-time tesselation slow it down quite a lot (at least
> compared to rendering a triangle mesh)?
It would be slower but save memory...you would have a choice, just like
you do with bicubic patches.
--
Christopher James Huff - chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, 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) |
On Mon, 04 Jun 2001 16:58:11 -0700, Ken wrote:
>See Warp's reply. My bad.
Your bad what?
--
#macro R(L P)sphere{L F}cylinder{L P F}#end#macro P(V)merge{R(z+a z)R(-z a-z)R(a
-z-z-z a+z)torus{1F clipped_by{plane{a 0}}}translate V}#end#macro Z(a F T)merge{
P(z+a)P(z-a)R(-z-z-x a)pigment{rgbt 1}hollow interior{media{emission T}}finish{
reflection.1}}#end Z(-x-x.2y)Z(-x-x.4x)camera{location z*-10rotate x*90}
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) |
"Ron Parker" <ron### [at] povray org> wrote in message
news:slr### [at] fwi com...
> On Mon, 04 Jun 2001 16:58:11 -0700, Ken wrote:
> >See Warp's reply. My bad.
>
> Your bad what?
>
It would mean "mistake."
--
Me (Daniel Lin (dli### [at] yahoo com))
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) |
On Mon, 4 Jun 2001 22:16:48 -0400, Daniel Lin wrote:
>"Ron Parker" <ron### [at] povray org> wrote in message
>news:slr### [at] fwi com...
>> On Mon, 04 Jun 2001 16:58:11 -0700, Ken wrote:
>> >See Warp's reply. My bad.
>>
>> Your bad what?
>>
>It would mean "mistake."
It would, if it did. But it doesn't. "Bad" is still an adjective.
--
#macro R(L P)sphere{L F}cylinder{L P F}#end#macro P(V)merge{R(z+a z)R(-z a-z)R(a
-z-z-z a+z)torus{1F clipped_by{plane{a 0}}}translate V}#end#macro Z(a F T)merge{
P(z+a)P(z-a)R(-z-z-x a)pigment{rgbt 1}hollow interior{media{emission T}}finish{
reflection.1}}#end Z(-x-x.2y)Z(-x-x.4x)camera{location z*-10rotate x*90}
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) |
Ron Parker wrote:
>
> On Mon, 04 Jun 2001 16:58:11 -0700, Ken wrote:
> >See Warp's reply. My bad.
>
> Your bad what?
I know it was a bad thing to say but the Devil made me do it.
--
Ken Tyler
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) |
Ken <tyl### [at] pacbell net> wrote:
: I know it was a bad thing to say but the Devil made me do it.
Ah, so it was your evil brother? ;)
--
#macro N(D,I)#if(I<6)cylinder{M()#local D[I]=div(D[I],104);M().5,2pigment{
rgb M()}}N(D,(D[I]>99?I:I+1))#end#end#macro M()<mod(D[I],13)-6,mod(div(D[I
],13),8)-3,10>#end blob{N(array[6]{11117333955,
7382340,3358,3900569407,970,4254934330},0)}// - 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) |
Rune wrote:
>
> I know a little about what nurbs are, but I'd like to know more about the
> details.
>
> First: what are the differences between nurbs and bicubic patches?
>
> Rune
> --
NURBS in PovRay - my dream or 150 MB of memory necessary for mesh of my
last plane's model exported from Rhino (please see
www.angelfire.com/sk/gatial)
Jozef
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) |
James Tonkin wrote:
> In article <3b17c237@news.povray.org>, Warp <war### [at] tag povray org> wrote:
>
>>Ron Parker <ron### [at] povray org> wrote:
>>: Not really. Bezier patches/bicubic patches are neither non-uniform nor
>>: rational.
>>
>
> Ok, there's about 4 types of curves being discussed here, from (mathematically)
> simplest to most complex, they are:
>
> Bezier curves
> Bicubic patches
> B-Splines (uniform, non-rational)
> NURBS (which stands for non-uniform, rational, b-spline)
>
> All of them are based on the idea of a set of control points, and a set of
> blending functions.
>
> Starting in 2 dimensions, with Bezier curves:
>
> A curve can be defined in terms of a single parameter, (typically 's' or 't'
> are used, depending on your mathematical background) which represents the
> normalized distance along the curve, from it's starting point (control point 0)
> towards it's ending point (for a Bezier curve, this is control point 3,
> although the algorithim could be generalized to any number of points). By
> 'normalized distance' I mean that the parameter (I'll use 't') is 0 at the
> starting point, and 1 and the ending point.
>
> Each control point will have an x and y co-ordinate (<x0,y0> to <x3,y3>), and
> an associated blending function.
>
> For Bezier curves, the blending functions are just the standard expansion
> of ( t * (1-t) ) ^3, seperated according to the power of the 't' term.
>
> (Historically, I don't think this was the motivation for development of
> this set of blending functions, but this is how it works out)
>
> So blending function 3 is t^3.
> b.f. 2 = 3 * (t ^2)*(1-t)
> b.f. 1 = 3 * t * ( (1-t)^2)
> b.f. 0 = (1-t)^3
>
Could you please tell me what separation of a formule is? i.e., how do
you get the blending functions from ( t*(1-t))^3?
Thanks in advance,
Remco Poelstra
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) |
Remco Poelstra <rjp### [at] home nl> wrote:
>James Tonkin wrote:
[a bunch of stuff about the math behind bicubic patches]
>Could you please tell me what separation of a formule is? i.e., how do
>you get the blending functions from ( t*(1-t))^3?
Well, it would help if I had of put the correct formula down in the first
place... sorry bout that. Here's the full derivation
(t + (1-t) ) ^3
= (t + (1-t)) * (t + (1-t)) * (t + (1-t))
= [ t*t + t*(1-t) + (1-t)*t + (1-t)*(1-t)] * [ t + (1-t)]
= [ t^2 + 2 * t * (1-t) + (1-t)^2] * [t + (1-t)]
= ( t^2 * t) + (2 * t * (1-t) * t) + ( (1-t)^2 * t) + (t^2 * (1-t))
+ (2 * t * (1-t) * (1-t) ) + ( (1-t)^2 * (1-t))
= t^3 + ( 2 * t^2 * (1-t) ) + (t * (1-t)^2) + (t^2 * (1-t))
+ ( 2 * t * (1-t)^2) + (1-t)^3
= t^3 + (3 * t^2 * (1-t)) + (3 * t * (1-t)^2) + (1-t)^3
So the 4 terms in the last line correspond to the 4 blending functions.
Hope that helps,
Jamie
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) |
James Tonkin wrote:
>
> Well, it would help if I had of put the correct formula down in the first
> place... sorry bout that. Here's the full derivation
>
> (t + (1-t) ) ^3
>
> = (t + (1-t)) * (t + (1-t)) * (t + (1-t))
>
> = [ t*t + t*(1-t) + (1-t)*t + (1-t)*(1-t)] * [ t + (1-t)]
>
> = [ t^2 + 2 * t * (1-t) + (1-t)^2] * [t + (1-t)]
>
> = ( t^2 * t) + (2 * t * (1-t) * t) + ( (1-t)^2 * t) + (t^2 * (1-t))
> + (2 * t * (1-t) * (1-t) ) + ( (1-t)^2 * (1-t))
>
> = t^3 + ( 2 * t^2 * (1-t) ) + (t * (1-t)^2) + (t^2 * (1-t))
> + ( 2 * t * (1-t)^2) + (1-t)^3
>
> = t^3 + (3 * t^2 * (1-t)) + (3 * t * (1-t)^2) + (1-t)^3
>
> So the 4 terms in the last line correspond to the 4 blending functions.
>
Thanks, exactly what I wanted to know.
Remco Poelstra
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |