Talk:De Casteljau's algorithm

message: 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)
thread_title: Dynamic Programming

message: 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)
thread_title: Untitled

message: 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)
thread_title: Image sources

message: 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)
thread_title: de or De

message: 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)
replies: text: 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)

text: 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)

text: 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)
thread_title: Haskell

message: 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)
thread_title:  Numerical stability 

message: Going through this article and working the example out by hand brought to me attention that the bounds of the indices might not be correct. The index $i=0,\dots, n-j$ is used denote control points and the index $j=1, \dots, n$ the iteration. But shouldn't it be $i=0,\dots,n$ and $j=1,\dots,n-i$.
If we consider the example where $n=2$ and start on the last control point, $i=2$, we should get $j=1,\dots, 0$ which tells us that there is no iteration for the last control point (as expected). Just to make sure my point is clear, if you consider the first control point, $i=0$, then $j=1,\dots, n$ (again, as expected).
I'm still new at this, so I didn't feel comfortable enough to edit. I wasn't sure if there was something I was missing. Twotontwentyone (talk) 00:26, 20 June 2023 (UTC)
thread_title:  Are the bounds for the indices i and j correct?