In 1987 a FORTRAN subroutine package was created that fits points to surfaces using cubic splines (though more of a subdivision scheme it appears than a parametric surface).
The author published a book (Paul Dierckx  Curve and Surface Fitting with Splines).
I'm curious:
1) If it's still useful enough to charge $100 for the book 25 years later, hasn't anyone ported it to C++?
2) Are there limitations to consider versus using Catmull Rom surfaces or NURBS?
3) Is localized control possible?
Thanks,
CRD
 Home
 » Viewing Profile: Topics: Catmull Dog
Calling all IT Pros from Canada and Australia.. we need your help! Support our site by taking a quick sponsored surveyand win a chance at a $50 Amazon gift card. Click here to get started!
Catmull Dog
Member Since 03 Aug 2012Offline Last Active Sep 20 2012 09:07 AM
Community Stats
 Group Members
 Active Posts 26
 Profile Views 1,170
 Submitted Links 0
 Member Title Member
 Age 43 years old
 Birthday July 2, 1972

Gender
Male
136
Learning
User Tools
Latest Visitors
Topics I've Started
Has anyone used FITPACK (spline fitting by Dierckx)?
05 September 2012  07:59 AM
Rendering  Particle Phenomenon on Windows 7
27 August 2012  11:48 AM
I noticed that when I render without calling glClear on each frame I get a flickering strobelike effect in Windows 7. I took a snapshot which seems to show what is happening  it looks like it's using sprites with logical AND instead of XOR. It might be the graphics card (nVidia Quadro 2000M) or a setting of some kind.
I noticed I had to change my rendering slightly to accomodate Windows 7 originally (namely, to save the DC when the window is created and not use the one returned by glBeginPaint), but never knew for sure what changed between that and XP.
Do you have any idea what this observed effect is or how to restore smoother rendering? It looks ok in normal mode and is only an issue when I try to let objects trace out a path by not clearing between frames.
Thanks in advance,
CRD
I noticed I had to change my rendering slightly to accomodate Windows 7 originally (namely, to save the DC when the window is created and not use the one returned by glBeginPaint), but never knew for sure what changed between that and XP.
Do you have any idea what this observed effect is or how to restore smoother rendering? It looks ok in normal mode and is only an issue when I try to let objects trace out a path by not clearing between frames.
Thanks in advance,
CRD
Structuring your Engine/Tools License Cost (as Developer vs User)
14 August 2012  12:16 PM
While many have discussed the cost of licensing a game engine or technology as a customer, it's more difficult to find information about how developers should go about determining the license pricing structure for their existing, proven technology.
For example, let's say you as a small business owner have been developing tools for 10 years and you estimate that it cost you $3 Million in time and resources to build a certain product that another company is now interested in licensing (open source).
Should you estimate how many licenses are realistic and divide, say 10 licenses at $300K each?
And for your first customer (who takes more risk) should you maybe say $30K (1% of development cost)? Also consider whether the customer is your employer, and how much extra you would want to provide them the source code to existing tools.
Your input would be appreciated.
For example, let's say you as a small business owner have been developing tools for 10 years and you estimate that it cost you $3 Million in time and resources to build a certain product that another company is now interested in licensing (open source).
Should you estimate how many licenses are realistic and divide, say 10 licenses at $300K each?
And for your first customer (who takes more risk) should you maybe say $30K (1% of development cost)? Also consider whether the customer is your employer, and how much extra you would want to provide them the source code to existing tools.
Your input would be appreciated.
Recursive Catmull Rom algorithm
06 August 2012  09:32 AM
In Siggraph '88 (24 years ago this week) there was a great article by Phillip J. Barry and Ronald N. Goldman titled "A Recursive Evaluation Algorithm for a Class of CatmullRom Splines".
In the article they detail a recursive approach to evaluate a CR spline. Representing it this way allows for curve parameters to be added (thus making it NonUniform), altering the trajectory of the curve (similar to the Tension parameter in a Cardinal or Kochanek Bartels spline).
I'm in the process of translating the formula but it's usually harder than it looks.
Has anyone implemented this? How much faster is it? Is the algorithm available in C++ form?
Thanks in advance.
CRD
In the article they detail a recursive approach to evaluate a CR spline. Representing it this way allows for curve parameters to be added (thus making it NonUniform), altering the trajectory of the curve (similar to the Tension parameter in a Cardinal or Kochanek Bartels spline).
I'm in the process of translating the formula but it's usually harder than it looks.
Has anyone implemented this? How much faster is it? Is the algorithm available in C++ form?
Thanks in advance.
CRD
Modifying Catmull Rom to Add Centripetal Parameterization
03 August 2012  06:34 AM
Greetings.
While Catmull Rom splines have the nice property of going through the control points and are "continuous enough" for most applications, they sometimes behave unpredictably. Namely, the points of highest curvature on the resulting curve are not always where the control points lie.
A solution for this is to use what is called Centripetal Parameterization which focuses more sampled points on the highest areas of curvature (the term derives from the way a car would slow down when navigating sharp turns, unless driven by this guy).
The general idea is:
t i+1 = t i + P i +1  P i] ^ a // Where (0<= a <=1) (0 is Uniform,.5 is Centripetal and 1 is Chordal).
Note: This is a different type of parameterization than Chord length reparameterization (see attached slide showing adjusting the number of points between spans without altering the curve itself). Centripetal alters the trajectory of the curve, similar to the way a Kochanek Bartels spline applies Tension, but unique.
There are many articles on this subject. Two of the best I found are Parameterization and Applications of CatmullRom Curvesand the original E T Y Lee article Choosing nodes in parametric curve interpolation, but they don't seem to explain in layman terms how to go about modifying an existing CR algorithm to make the required changes (ideally there would be an adjustable alpha to blend from Uniform (a=0) to Centripetal (a=.5) to Chordal (a=1.0), but I'm not sure if that refers to blending the results of two functions or if the alpha value really plugs in (it is raised to the power of a so it's square root for Centripetal).
Question:
Does anyone have the actual CR algorithm that implements Centripetal Parameterization? How different from the original CR algorithm is it and how much does it cost?
With KB splines it's only a few lines difference, but not something you could improvise without a math Ph. D.
Thanks in advance!
CRD
While Catmull Rom splines have the nice property of going through the control points and are "continuous enough" for most applications, they sometimes behave unpredictably. Namely, the points of highest curvature on the resulting curve are not always where the control points lie.
A solution for this is to use what is called Centripetal Parameterization which focuses more sampled points on the highest areas of curvature (the term derives from the way a car would slow down when navigating sharp turns, unless driven by this guy).
The general idea is:
t i+1 = t i + P i +1  P i] ^ a // Where (0<= a <=1) (0 is Uniform,.5 is Centripetal and 1 is Chordal).
Note: This is a different type of parameterization than Chord length reparameterization (see attached slide showing adjusting the number of points between spans without altering the curve itself). Centripetal alters the trajectory of the curve, similar to the way a Kochanek Bartels spline applies Tension, but unique.
There are many articles on this subject. Two of the best I found are Parameterization and Applications of CatmullRom Curvesand the original E T Y Lee article Choosing nodes in parametric curve interpolation, but they don't seem to explain in layman terms how to go about modifying an existing CR algorithm to make the required changes (ideally there would be an adjustable alpha to blend from Uniform (a=0) to Centripetal (a=.5) to Chordal (a=1.0), but I'm not sure if that refers to blending the results of two functions or if the alpha value really plugs in (it is raised to the power of a so it's square root for Centripetal).
Question:
Does anyone have the actual CR algorithm that implements Centripetal Parameterization? How different from the original CR algorithm is it and how much does it cost?
With KB splines it's only a few lines difference, but not something you could improvise without a math Ph. D.
Thanks in advance!
CRD