<p>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 situation would be.</p>

<ul>
<li><p>First you could interpolate along a independent variable t in which case your monotonicity is most probably in relation to t. This is the same as interpolating each direction separately.</p></li>
<li><p>Second you could interpolate along one of the axes, so that your interpolant becomes a function of position on that axis. Reducing a 2D case into a 1D case and a 3D case to two separate 2D cases.</p></li>
<li><p>Third you could interpolate on some other spatial variable.</p></li>
</ul>

<p>So you see the question is a bit open ended and is hard to say for sure.</p>

CC BY-SA 3.0
2017-07-05T06:40:47.247Z
In the link provided above it's Monotone cubic Hermite interpolation. The idea is to maintain the direction of tangent vectors. Any idea how to extend it for 3D case?
Bla...
CC BY-SA 3.0
2017-07-05T06:52:38.407Z
@Bla...  So you dont actually want a monotone curve at all then? As you ar not defining what your going to be monotone about. Try a catmul-rom spline.
joojaa
CC BY-SA 3.0
2017-04-26T07:32:22.853Z
2017-04-26T07:32:22.853Z
joojaa
<p>I wanted to use <a href="https://en.wikipedia.org/wiki/Monotone_cubic_interpolation" rel="nofollow noreferrer">Monotone cubic interpolation</a>, but the site only provide explanation for 2D case. How can I extend it to 3D?</p>

CC BY-SA 3.0
2017-04-24T11:56:14.690Z
Do you mean that you have a set of 3D control points, C0, C1...Cn, and, I assume, some rotation matrix, P, such that, (P.Ci) [x] is strictly increasing, as are (P.Ci) [y] and (P.Ci) [z] ?
Simon F
CC BY-SA 3.0
2017-04-24T12:04:53.353Z
No, i mean in 3D a point is defined by (x, y, z) instead of (x, y).
Bla...
CC BY-SA 3.0
2017-04-25T13:10:58.360Z
Your question is ambiguous as you don't specify monotonic in relation to what in 3D?
JarkkoL
CC BY-SA 3.0
2017-04-25T15:27:48.523Z
@JarkkoL You need to check the link that I provided.
Bla...
CC BY-SA 3.0
2017-04-25T15:58:37.033Z
It doesn't disambiguate how you want the function to be monotonic in 3D. If you want the function to be monotonic along y-axis like in the 2D case, it's trivial extension, but if you want it to be monotonic along each axis, it's different. So which is it? Please clarify your question.
JarkkoL
CC BY-SA 3.0
2017-04-26T01:42:41.317Z
@JarkkoL Oh, I see.. How can you tell that the function in the site is monotonic along y-axis only? I think the important step is "Compute the slopes of the secant lines between successive points:", but the site only provide the 2D case. I think if I can extend that to 3D than the rest are the same. Am I right?
Bla...
<interpolation><curve>
How to use Monotone cubic interpolation in 3D?
Bla...
# How to use Monotone cubic interpolation in 3D?

(Asked by: username_0 on 2017-04-24)

I wanted to use [Monotone cubic interpolation](https://en.wikipedia.org/wiki/Monotone_cubic_interpolation), but the site only provide explanation for 2D case. How can I extend it to 3D?

**Tags:** interpolation, curve

> **Comments:**
> **username_1**: Do you mean that you have a set of 3D control points, C0, C1...Cn, and, I assume, some rotation matrix, P, such that, (P.Ci) [x] is strictly increasing, as are (P.Ci) [y] and (P.Ci) [z] ?  
> **username_0**: No, i mean in 3D a point is defined by (x, y, z) instead of (x, y).  
> **username_2**: Your question is ambiguous as you don't specify monotonic in relation to what in 3D?  
> **username_0**: @username_2 You need to check the link that I provided.  
> **username_2**: It doesn't disambiguate how you want the function to be monotonic in 3D. If you want the function to be monotonic along y-axis like in the 2D case, it's trivial extension, but if you want it to be monotonic along each axis, it's different. So which is it? Please clarify your question.  
> **username_0**: @username_2 Oh, I see.. How can you tell that the function in the site is monotonic along y-axis only? I think the important step is "Compute the slopes of the secant lines between successive points:", but the site only provide the 2D case. I think if I can extend that to 3D than the rest are the same. Am I right?  

---

## 1 answers

### Answer by username_3 on 2017-04-26. Score: 4

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 situation would be.

* First you could interpolate along a independent variable t in which case your monotonicity is most probably in relation to t. This is the same as interpolating each direction separately.
* Second you could interpolate along one of the axes, so that your interpolant becomes a function of position on that axis. Reducing a 2D case into a 1D case and a 3D case to two separate 2D cases.
* Third you could interpolate on some other spatial variable.

So you see the question is a bit open ended and is hard to say for sure.

> **Comments:**
> **username_0**: In the link provided above it's Monotone cubic Hermite interpolation. The idea is to maintain the direction of tangent vectors. Any idea how to extend it for 3D case?  
> **username_3**: @Bla...  So you dont actually want a monotone curve at all then? As you ar not defining what your going to be monotone about. Try a catmul-rom spline.  

---

