Skip to main content
8 votes
Accepted

How do people come up with subdivision schemes?

The subdivision schemes are not arbitrary. Catmull-Clark, arguably the most used subdivision scheme, generalizes bicubic B-splines to meshes of arbitrary topology. Most, other subdivision schemes ...
Reynolds's user avatar
  • 1,283
6 votes
Accepted

Determining Rational Quadratic Bezier Curve Weights for Circle

Check out the section on Circular Arcs and Circles, from Ching-Kuang Shene's excellent computational geometry course notes: [G]iven three control points P0, P1 and P2 such that P0P1 = P1P2 holds, if ...
gilgamec's user avatar
  • 901
5 votes

Move position in smooth gradient

What you want is linear interpolation like @Tim points out. However he uses a formula that is not so easily understandable form, we can refactor it differently. Basically linear interpolation is a ...
joojaa's user avatar
  • 8,437
5 votes
Accepted

Move position in smooth gradient

The math you need is linear interpolation. I think of a player sprite which moves from position X to position Y. Pseudocode: ...
Timm's user avatar
  • 548
4 votes
Accepted

If you can use subdivision surfaces for 2D curves

Subdivision can be used for curves in 2D just as easily as for surfaces in 3D. Usually the subdivision algorithms applied to 2D are called subdivision curves. Subdivision curves do not suffer from the ...
Reynolds's user avatar
  • 1,283
4 votes

Conversion from cubic catmull-rom spline to cubic b-spline

Quoting the comments above for context: Just to confirm, are you asking, given a set of $N$ CatRom control points, $$\{CR_0, CR_1, CR_2, CR_3 ... CR_{n-1}\}$$ forming a piecewise curve, what is the ...
Simon F's user avatar
  • 4,296
4 votes

How to use Monotone cubic interpolation in 3D?

Ok, monotonic interpolation depends on what you are monotonic about. For a simple 1D function interpolation monotonicity is easy to define. But for a 2D and 3D dataset its not so self evident what the ...
joojaa's user avatar
  • 8,437
3 votes

How to take the derivative of a Bézier curve?

A simple example of taking a the derivative of a B'ezier curve can be shown using a cubic curve. $$C_3(u) = \sum_{i=0}^3 B_{3,i}(u) P_i,$$ where $u \in [0,1]$ and $B_{n,i} = {n \choose i} u^i (1-u)^{n-...
Reynolds's user avatar
  • 1,283
3 votes
Accepted

Polygons versus curve primitives in software rendering

Most software rendering engines dice the parametric primitives to micropolygons, usually on the fly as needed. In essence this reduces the needed complexity to determine intersections. The surface ...
joojaa's user avatar
  • 8,437
2 votes

Does the blending matrix change between calculating various curve segments in a uniform cubic B-splines approximation?

No, $B$ is constant for given type of cubic spline, e.g. B-spline, Bezier, Hermite or Catmull-Rom cubic splines have different $B$ matrix. To make B-spline continuous, you need to copy 3 control ...
JarkkoL's user avatar
  • 3,636
2 votes
Accepted

Does the blending matrix change between calculating various curve segments in a uniform cubic B-splines approximation?

No, the $B$ matrix (basis coefficient matrix) does not change from one segment to the next. It is a property of the type of spline you're using, in this case cubic B-splines. If you used Bézier ...
Nathan Reed's user avatar
  • 25.1k
2 votes
Accepted

How to deform some mesh so that it fits along a spline curve?

I have no knowledge of the literature on the topic, but I did something very similar to what you're asking some time ago: I wanted to generate lathe meshes and bend them according to a spline. I think ...
Julien Guertault's user avatar
2 votes
Accepted

B spline curve generation in Python

In line 15 use the half-open interval, i.e., if u>=t[0][i] and u<t[0][i+1]: Otherwise, at knot values, you evaluate two basis functions at the k=1 basis ...
Iddo Hanniel's user avatar
2 votes
Accepted

Why cubic curves provide the minimum curvature interpolants?

For a function $y = f(x)$ the (signed) curvature at $x$ is given by: $$ \kappa(x) = \frac{f''(x)}{(1+f'^2(x))^{\frac{3}{2}}} $$ If you assume that the slope is very small compared to $1$: $ f'^2<\!...
lightxbulb's user avatar
  • 2,226
2 votes

Why cubic curves provide the minimum curvature interpolants?

Splines confuse me which is one reason I asked somebody else to write that chapter. But I like this explanation: https://www.johndcook.com/blog/2009/02/06/the-smoothest-curve-through-a-set-of-points/
Peter Shirley's user avatar
2 votes

Continuity of parametric and geometric continuity

I would rather draw the $G_1$ example something like this: This makes it clear that $t_2$ and $t_3$ are parallel, but have different lengths in general. (They both start at the same point, but $t_3$ ...
Nathan Reed's user avatar
  • 25.1k
1 vote

Continuity of parametric and geometric continuity

Yes, your understanding of $C1$ and $G1$, as shown in your drawings, is roughly correct: $C1$ means equal derivative vectors, and $G1$ means parallel derivative vectors. I say “roughly” because there ...
bubba's user avatar
  • 348
1 vote

Fake cubic Hermite spline interpolation with smoothstep

A Hermite cubic polynomial interpolates 2 points and the derivatives at those points. To be exact, let us have the points $p_0, p_1$ and the derivatives (tangents) at those $d_0, d_1$. Then we want a ...
lightxbulb's user avatar
  • 2,226
1 vote

Fake cubic Hermite spline interpolation with smoothstep

However, Hermite interpolation it links to is different from Cubic Hermite spline interpolation; they're two different articles. These are nested subjects. That is, "Cubic Hermit interpolation&...
Nicol Bolas's user avatar
  • 9,842
1 vote

Spline interpolation library in cpp

So you have a series of points and, at each point, a supplied derivative? Is a piecewise cubic sufficient or does it need higher derivative continuity? If the former is ok, then Cubic Hermite Splines ...
Simon F's user avatar
  • 4,296
1 vote

How do you compute the winding number of a closed poly curve?

Winding number as in https://en.wikipedia.org/wiki/Winding_number? Unless I'm mistaken, one way is to fire, say, a horizontal 'ray' out from your point towards, say, $+\infty$. Each time you cross an ...
Simon F's user avatar
  • 4,296
1 vote

Non least squares formulation to fit catmull rom spline

Disclaimer: I've done some work in the past with wavelet decomposition of image data but it occurred to me that it may be applicable to your problem. Admittedly, I don't actually know if the ...
Simon F's user avatar
  • 4,296
1 vote
Accepted

How does the Lane Riesenfeld algorithm work?

What you're looking for is called de Boor's algorithm. It lets you compute a point on a b-spline curve by doing a series of linear interpolation (LERP) calculations. So, it works very much like the de ...
bubba's user avatar
  • 348

Only top scored, non community-wiki answers of a minimum length are eligible