Talk:De Casteljau's algorithm

Add discussion
Active discussions
WikiProject Computer graphics (Rated Start-class, Low-importance)
This article is within the scope of WikiProject Computer graphics, a collaborative effort to improve the coverage of computer graphics on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 Start  This article has been rated as Start-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.
WikiProject Mathematics (Rated Start-class, Low-priority)
This article is within the scope of WikiProject Mathematics, a collaborative effort to improve the coverage of mathematics on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 Start  This article has been rated as Start-Class on the project's quality scale.
 Low  This article has been rated as Low-priority on the project's priority scale.

Dynamic ProgrammingEdit

It would be nice to add a remark regarding Dynamic Programming and how the algorithm may be implemented using a tabular method or a recursive method (possibly with memoization). Also, describing the existing implementations in terms of which approach they take might be helpful (e.g., Haskell implementation is recursive whereas the Python implementation is tabular). --SomeTimeLater (talk) 16:27, 24 December 2021 (UTC)

UntitledEdit

I would like to see this illustrated: any takers? --Phil | Talk 12:49, Sep 22, 2004 (UTC)

Illustration would be really nice. Perhaps Κσυπ Cyp would do one if asked nicely.MathMartin 13:40, 22 Sep 2004 (UTC)

Just added the illustration and few words disscussing the geomtric interpretation of what is going on. The image was prepared in Asymptote ([1]), I include herewith the sources in case someone wishes to modifie the image one day (don't worry about licensing, I release it under public domain). Pkoprowski 17:36, 7 October 2006 (UTC)

Is there a reason the images from the Bezier_curves page aren't shown here? RaydenUni 20:33, 18 December 2006 (UTC)


Image sourcesEdit

size(10cm,4cm);
real t = 0.33;
pair[][] P = {{(0,0), (0.25,1.5), (1,2), (1,0)},

{(0,0), (0.5,1), (1,2), (1,0)}, {(0,0), (0.5,1), (1,2), (1,0)}, {(0,0), (0.5,1), (1,2), (1,0)}};

path C[] = {nullpath, nullpath, nullpath, nullpath};
path g,ctr,d;
g = P[0][0]..controls P[0][1] and P[0][2]..P[0][3];
d = scale(0.025)*unitcircle;
int i,j,k;
C[0] = P[0][0]--P[0][1]--P[0][2]--P[0][3];
for(i = 1; i <= 3; ++i) {

for(j = 0; j <= 3-i; ++j) { P[i][j] = (1-t)*P[i-1][j] + t*P[i-1][j+1]; C[i] = C[i]--P[i][j]; }

}
for(k =  0; k < 3; ++k) {
   draw(shift((2*k,0)) * C[k]);
   for(i = 0; i < 4-k; ++i) {
       string L = format("$P_%d$",i);
       label(L, shift((2*k,0)) * P[k][i], i < (4-k)/2 ? W : E);

filldraw(shift((2*k,0)) * shift(P[k][i])*d); }

   draw(shift((2*k,0)) * C[k+1], dashed);
   for(i = 0; i < 3-k; ++i)

draw(shift((2*k,0)) * shift(P[k+1][i])*d);

   draw(shift((2*k,0)) * g);
}


I'm confused. What is little b? --jivy 16:48, 29 October 2005 (UTC)

Never mind little b, what about all the other variables? 129.11.146.164 (talk) 10:23, 12 November 2008 (UTC)

Would it be more clear to say that bi,n(t) is the Bernstein basis polynomial? I don't see what little b means just by itself.Ten-K (talk) 10:58, 3 March 2010 (UTC)

de or DeEdit

The article header says "The correct title of this article is de Casteljau's algorithm. The initial letter is capitalized due to technical restrictions." However, according to the style guides I have handy (NY Times and USGPO), it should be capitalized here (regardless of any technical restrictions). The NYT Manual of Style and Usage says that, while the "de" particle remains in lowercase when it appears in the interior of a sentence, it should be capitalized when it begins a sentence or a headline or a subhead. The USGPO Style Manual goes even farther, saying that "de" (also d', da, della, du, van, and von) should be capitalized unless preceded by a forename or title. So according to the latter, that first sentence should read "The correct title of this article is De Casteljau's algorithm." But then, it's not needed, is it? :-) The Wikipedia style guide http://en.wikipedia.org/wiki/Capitalization#Compound_names mentions this case only for the Dutch: Franky van der Elst, but Van der Elst, Franky in a list.--BillFlis 12:14, 2 May 2006 (UTC)


German article in english Wikipedia?Edit

The article http://en.wikipedia.org/wiki/De_Casteljau%27s_algorithm is written in german. Is this a mistake, a stopgap until an english translation becomes available or something else? -- Roland Kaufmann Insert non-formatted text here

HaskellEdit

I fail to see how using Haskell clarifies the algorithm. Should have been pseudocode or something with a transparent procedural syntax. Angry bee (talk) 20:30, 31 May 2010 (UTC)

I think that the example Haskell code implements the algorithm rather lucidly, though I was initially confused by its choice of variable names. -vk (talk) 03:15, 11 May 2013 (UTC)

I totally agree. For the vast majority of people, a procedural implementation would be clearer, like the one found here. —Ben FrantzDale (talk) 13:31, 10 October 2014 (UTC)
From someone who is familiar with programming in general but not Haskell, the current example is rather opaque. An example like linked above would be very helpful. --Miguelmurca (talk) 10:17, 29 January 2018 (UTC)
Haskell does not clarify. It is, of course, of use to Haskell programmers, but not to anybody else. JDAWiseman (talk) 16:42, 20 January 2019 (UTC)

Numerical stabilityEdit

The intro says that this algorithm is "slower for most architectures when compared with the direct approach, it is more numerically stable". I believe it, based on the fact that this algorithm is based entirely on linear interpolation between points, and so it should be well behaved and doesn't involve taking the difference of large powers of numbers, but this should be expanded upon. —Ben FrantzDale (talk) 13:33, 10 October 2014 (UTC)


Stopping conditionEdit

Recursive algorithms need a stopping condition. Please could the stopping condition be explained more overtly? JDAWiseman (talk) 16:42, 20 January 2019 (UTC)