Help me understand Rational Bézier curve Announcing the arrival of Valued Associate #679:...
What does the writing on Poe's helmet say?
Random body shuffle every night—can we still function?
A proverb that is used to imply that you have unexpectedly faced a big problem
Flight departed from the gate 5 min before scheduled departure time. Refund options
What does Turing mean by this statement?
In musical terms, what properties are varied by the human voice to produce different words / syllables?
Why is it faster to reheat something than it is to cook it?
A term for a woman complaining about things/begging in a cute/childish way
How can I prevent/balance waiting and turtling as a response to cooldown mechanics
Simple HTTP Server
Found this skink in my tomato plant bucket. Is he trapped? Or could he leave if he wanted?
I got rid of Mac OSX and replaced it with linux but now I can't change it back to OSX or windows
Google .dev domain strangely redirects to https
Why do early math courses focus on the cross sections of a cone and not on other 3D objects?
What does 丫 mean? 丫是什么意思?
Can humans save crash-landed aliens?
How to change the tick of the color bar legend to black
I can't produce songs
What would you call this weird metallic apparatus that allows you to lift people?
Why complex landing gears are used instead of simple,reliability and light weight muscle wire or shape memory alloys?
Can two people see the same photon?
Why not use the yoke to control yaw, as well as pitch and roll?
Is there any word for a place full of confusion?
Was Kant an Intuitionist about mathematical objects?
Help me understand Rational Bézier curve
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Control Points of Bézier Curve?Question regarding Bézier CurveCalculating control points of Cubic Bézier curveWhy does the Bezier Curve work?Convert Bézier curve to equationHigh Degree Bézier Curve For Curve FittingBézier approximation of conicsBézier curve from three different y valuesOn the cruelty of really intersecting Bézier curvesBézier curve for some nodes
$begingroup$
Example: Given a rational linear Bézier curve between points $(x=0,y=0)$ and $(x=0,y=1)$, with weights of $1$ and $2$ respectively, for a given value of $t$, how do I find $y$?
I can understand Bézier curves okay, the equations go over my head but I can visualise what's going on as a series of linear interpolations. These visualisations https://en.wikipedia.org/wiki/B%C3%A9zier_curve#Constructing_B.C3.A9zier_curves are what made sense to me.
I'm trying to visualise something similar for rational linear Bézier curves.
Am I correct in understanding that the absolute values of the weights don't matter, only their values relative to each other?
bezier-curve
$endgroup$
add a comment |
$begingroup$
Example: Given a rational linear Bézier curve between points $(x=0,y=0)$ and $(x=0,y=1)$, with weights of $1$ and $2$ respectively, for a given value of $t$, how do I find $y$?
I can understand Bézier curves okay, the equations go over my head but I can visualise what's going on as a series of linear interpolations. These visualisations https://en.wikipedia.org/wiki/B%C3%A9zier_curve#Constructing_B.C3.A9zier_curves are what made sense to me.
I'm trying to visualise something similar for rational linear Bézier curves.
Am I correct in understanding that the absolute values of the weights don't matter, only their values relative to each other?
bezier-curve
$endgroup$
add a comment |
$begingroup$
Example: Given a rational linear Bézier curve between points $(x=0,y=0)$ and $(x=0,y=1)$, with weights of $1$ and $2$ respectively, for a given value of $t$, how do I find $y$?
I can understand Bézier curves okay, the equations go over my head but I can visualise what's going on as a series of linear interpolations. These visualisations https://en.wikipedia.org/wiki/B%C3%A9zier_curve#Constructing_B.C3.A9zier_curves are what made sense to me.
I'm trying to visualise something similar for rational linear Bézier curves.
Am I correct in understanding that the absolute values of the weights don't matter, only their values relative to each other?
bezier-curve
$endgroup$
Example: Given a rational linear Bézier curve between points $(x=0,y=0)$ and $(x=0,y=1)$, with weights of $1$ and $2$ respectively, for a given value of $t$, how do I find $y$?
I can understand Bézier curves okay, the equations go over my head but I can visualise what's going on as a series of linear interpolations. These visualisations https://en.wikipedia.org/wiki/B%C3%A9zier_curve#Constructing_B.C3.A9zier_curves are what made sense to me.
I'm trying to visualise something similar for rational linear Bézier curves.
Am I correct in understanding that the absolute values of the weights don't matter, only their values relative to each other?
bezier-curve
bezier-curve
edited Nov 26 '17 at 7:39
bubba
30.8k33188
30.8k33188
asked Nov 24 '17 at 21:08
Peter ChaplinPeter Chaplin
132
132
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
Suppose we have two 2D points $mathbf{P}_0 = (x_0,y_0)$ and $mathbf{P}_1 = (x_1,y_1)$, and two weights $w_0$ and $w_1$. The linear rational Bézier curve defined by these points has equation
$$
mathbf{P}(t) = frac {(1-t)w_0 mathbf{P}_0 + t w_1 mathbf{P}_1 }
{(1-t)w_0 + t w_1 }
$$
Or, in terms of coordinates
$$
x(t) = frac {(1-t)w_0 x_0 + t w_1 x_1 }
{(1-t)w_0 + t w_1 } quad;quad
y(t) = frac {(1-t)w_0 y_0 + t w_1 y_1 }
{(1-t)w_0 + t w_1 }
$$
In your example, we have the data $(x_0,y_0) = (0,0)$, $(x_1,y_1) = (0,1)$, $w_0=1$, $w_1=2$. Substituting these into the equations above, we get
$$
x(t) = 0 quad;quad
y(t) = frac{ 2t }{1+t }
$$
One interesting thing to note: when $t = tfrac12$, we get $y(t)=tfrac23$, which is not the mid-point of the line. So, a linear rational Bézier curve is a straight line, but the line is not traversed with constant speed.
The linear interpolation idea can be applied with rational Bézier curves, too. I'll just treat the case of 2D curves, since this gives us an easy way to visualize. The basic idea is to construct an ordinary (polynomial) Bézier curve in 3D, and then project it onto the plane $z=1$. So, in detail, we let
begin{align}
X(t) &= (1-t)w_0 x_0 + t w_1 x_1 \
Y(t) &= (1-t)w_0 y_0 + t w_1 y_1 \
Z(t) &= (1-t)w_0 + t w_1
end{align}
Clearly this is just an ordinary 3D (polynomial) Bézier curve defined by the two points $(w_0 x_0, w_0 y_0, w_0)$ and $(w_1 x_1, w_1 y_1, w_1)$. Then we project the 3D point $bigl( X(t), Y(t), Z(t) bigr)$ along a line through the origin onto the plane $Z=1$. This picture illustrates this projection
The point $mathbf{C}$ is the origin, and $pi$ is the plane $Z=1$. Again, note that the mid-point of the blue 3D line $E$ will not be projected onto the mid-point of the red 2D line $E'$. This projection has the equation $f(X,Y,Z) = (X/Z,Y/Z)$, so the projected curve has equation
$$
mathbf{R}(t) = left( frac{X}{Z}, frac{Y}{Z} right) =
left( frac {(1-t)w_0 x_0 + t w_1 x_1 }
{(1-t)w_0 + t w_1 } ,
frac {(1-t)w_0 y_0 + t w_1 y_1 }
{(1-t)w_0 + t w_1 } right)
$$
This is the equation of the linear rational Bézier curve that we saw above.
You are right that only the ratios of the weights matters, not their numerical values. In any of the equations above, you can replace $w_0$ and $w_1$ by $kw_0$ and $kw_1$, and the $k$ will cancel out, leaving you with the same equation.
$endgroup$
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2535780%2fhelp-me-understand-rational-b%25c3%25a9zier-curve%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Suppose we have two 2D points $mathbf{P}_0 = (x_0,y_0)$ and $mathbf{P}_1 = (x_1,y_1)$, and two weights $w_0$ and $w_1$. The linear rational Bézier curve defined by these points has equation
$$
mathbf{P}(t) = frac {(1-t)w_0 mathbf{P}_0 + t w_1 mathbf{P}_1 }
{(1-t)w_0 + t w_1 }
$$
Or, in terms of coordinates
$$
x(t) = frac {(1-t)w_0 x_0 + t w_1 x_1 }
{(1-t)w_0 + t w_1 } quad;quad
y(t) = frac {(1-t)w_0 y_0 + t w_1 y_1 }
{(1-t)w_0 + t w_1 }
$$
In your example, we have the data $(x_0,y_0) = (0,0)$, $(x_1,y_1) = (0,1)$, $w_0=1$, $w_1=2$. Substituting these into the equations above, we get
$$
x(t) = 0 quad;quad
y(t) = frac{ 2t }{1+t }
$$
One interesting thing to note: when $t = tfrac12$, we get $y(t)=tfrac23$, which is not the mid-point of the line. So, a linear rational Bézier curve is a straight line, but the line is not traversed with constant speed.
The linear interpolation idea can be applied with rational Bézier curves, too. I'll just treat the case of 2D curves, since this gives us an easy way to visualize. The basic idea is to construct an ordinary (polynomial) Bézier curve in 3D, and then project it onto the plane $z=1$. So, in detail, we let
begin{align}
X(t) &= (1-t)w_0 x_0 + t w_1 x_1 \
Y(t) &= (1-t)w_0 y_0 + t w_1 y_1 \
Z(t) &= (1-t)w_0 + t w_1
end{align}
Clearly this is just an ordinary 3D (polynomial) Bézier curve defined by the two points $(w_0 x_0, w_0 y_0, w_0)$ and $(w_1 x_1, w_1 y_1, w_1)$. Then we project the 3D point $bigl( X(t), Y(t), Z(t) bigr)$ along a line through the origin onto the plane $Z=1$. This picture illustrates this projection
The point $mathbf{C}$ is the origin, and $pi$ is the plane $Z=1$. Again, note that the mid-point of the blue 3D line $E$ will not be projected onto the mid-point of the red 2D line $E'$. This projection has the equation $f(X,Y,Z) = (X/Z,Y/Z)$, so the projected curve has equation
$$
mathbf{R}(t) = left( frac{X}{Z}, frac{Y}{Z} right) =
left( frac {(1-t)w_0 x_0 + t w_1 x_1 }
{(1-t)w_0 + t w_1 } ,
frac {(1-t)w_0 y_0 + t w_1 y_1 }
{(1-t)w_0 + t w_1 } right)
$$
This is the equation of the linear rational Bézier curve that we saw above.
You are right that only the ratios of the weights matters, not their numerical values. In any of the equations above, you can replace $w_0$ and $w_1$ by $kw_0$ and $kw_1$, and the $k$ will cancel out, leaving you with the same equation.
$endgroup$
add a comment |
$begingroup$
Suppose we have two 2D points $mathbf{P}_0 = (x_0,y_0)$ and $mathbf{P}_1 = (x_1,y_1)$, and two weights $w_0$ and $w_1$. The linear rational Bézier curve defined by these points has equation
$$
mathbf{P}(t) = frac {(1-t)w_0 mathbf{P}_0 + t w_1 mathbf{P}_1 }
{(1-t)w_0 + t w_1 }
$$
Or, in terms of coordinates
$$
x(t) = frac {(1-t)w_0 x_0 + t w_1 x_1 }
{(1-t)w_0 + t w_1 } quad;quad
y(t) = frac {(1-t)w_0 y_0 + t w_1 y_1 }
{(1-t)w_0 + t w_1 }
$$
In your example, we have the data $(x_0,y_0) = (0,0)$, $(x_1,y_1) = (0,1)$, $w_0=1$, $w_1=2$. Substituting these into the equations above, we get
$$
x(t) = 0 quad;quad
y(t) = frac{ 2t }{1+t }
$$
One interesting thing to note: when $t = tfrac12$, we get $y(t)=tfrac23$, which is not the mid-point of the line. So, a linear rational Bézier curve is a straight line, but the line is not traversed with constant speed.
The linear interpolation idea can be applied with rational Bézier curves, too. I'll just treat the case of 2D curves, since this gives us an easy way to visualize. The basic idea is to construct an ordinary (polynomial) Bézier curve in 3D, and then project it onto the plane $z=1$. So, in detail, we let
begin{align}
X(t) &= (1-t)w_0 x_0 + t w_1 x_1 \
Y(t) &= (1-t)w_0 y_0 + t w_1 y_1 \
Z(t) &= (1-t)w_0 + t w_1
end{align}
Clearly this is just an ordinary 3D (polynomial) Bézier curve defined by the two points $(w_0 x_0, w_0 y_0, w_0)$ and $(w_1 x_1, w_1 y_1, w_1)$. Then we project the 3D point $bigl( X(t), Y(t), Z(t) bigr)$ along a line through the origin onto the plane $Z=1$. This picture illustrates this projection
The point $mathbf{C}$ is the origin, and $pi$ is the plane $Z=1$. Again, note that the mid-point of the blue 3D line $E$ will not be projected onto the mid-point of the red 2D line $E'$. This projection has the equation $f(X,Y,Z) = (X/Z,Y/Z)$, so the projected curve has equation
$$
mathbf{R}(t) = left( frac{X}{Z}, frac{Y}{Z} right) =
left( frac {(1-t)w_0 x_0 + t w_1 x_1 }
{(1-t)w_0 + t w_1 } ,
frac {(1-t)w_0 y_0 + t w_1 y_1 }
{(1-t)w_0 + t w_1 } right)
$$
This is the equation of the linear rational Bézier curve that we saw above.
You are right that only the ratios of the weights matters, not their numerical values. In any of the equations above, you can replace $w_0$ and $w_1$ by $kw_0$ and $kw_1$, and the $k$ will cancel out, leaving you with the same equation.
$endgroup$
add a comment |
$begingroup$
Suppose we have two 2D points $mathbf{P}_0 = (x_0,y_0)$ and $mathbf{P}_1 = (x_1,y_1)$, and two weights $w_0$ and $w_1$. The linear rational Bézier curve defined by these points has equation
$$
mathbf{P}(t) = frac {(1-t)w_0 mathbf{P}_0 + t w_1 mathbf{P}_1 }
{(1-t)w_0 + t w_1 }
$$
Or, in terms of coordinates
$$
x(t) = frac {(1-t)w_0 x_0 + t w_1 x_1 }
{(1-t)w_0 + t w_1 } quad;quad
y(t) = frac {(1-t)w_0 y_0 + t w_1 y_1 }
{(1-t)w_0 + t w_1 }
$$
In your example, we have the data $(x_0,y_0) = (0,0)$, $(x_1,y_1) = (0,1)$, $w_0=1$, $w_1=2$. Substituting these into the equations above, we get
$$
x(t) = 0 quad;quad
y(t) = frac{ 2t }{1+t }
$$
One interesting thing to note: when $t = tfrac12$, we get $y(t)=tfrac23$, which is not the mid-point of the line. So, a linear rational Bézier curve is a straight line, but the line is not traversed with constant speed.
The linear interpolation idea can be applied with rational Bézier curves, too. I'll just treat the case of 2D curves, since this gives us an easy way to visualize. The basic idea is to construct an ordinary (polynomial) Bézier curve in 3D, and then project it onto the plane $z=1$. So, in detail, we let
begin{align}
X(t) &= (1-t)w_0 x_0 + t w_1 x_1 \
Y(t) &= (1-t)w_0 y_0 + t w_1 y_1 \
Z(t) &= (1-t)w_0 + t w_1
end{align}
Clearly this is just an ordinary 3D (polynomial) Bézier curve defined by the two points $(w_0 x_0, w_0 y_0, w_0)$ and $(w_1 x_1, w_1 y_1, w_1)$. Then we project the 3D point $bigl( X(t), Y(t), Z(t) bigr)$ along a line through the origin onto the plane $Z=1$. This picture illustrates this projection
The point $mathbf{C}$ is the origin, and $pi$ is the plane $Z=1$. Again, note that the mid-point of the blue 3D line $E$ will not be projected onto the mid-point of the red 2D line $E'$. This projection has the equation $f(X,Y,Z) = (X/Z,Y/Z)$, so the projected curve has equation
$$
mathbf{R}(t) = left( frac{X}{Z}, frac{Y}{Z} right) =
left( frac {(1-t)w_0 x_0 + t w_1 x_1 }
{(1-t)w_0 + t w_1 } ,
frac {(1-t)w_0 y_0 + t w_1 y_1 }
{(1-t)w_0 + t w_1 } right)
$$
This is the equation of the linear rational Bézier curve that we saw above.
You are right that only the ratios of the weights matters, not their numerical values. In any of the equations above, you can replace $w_0$ and $w_1$ by $kw_0$ and $kw_1$, and the $k$ will cancel out, leaving you with the same equation.
$endgroup$
Suppose we have two 2D points $mathbf{P}_0 = (x_0,y_0)$ and $mathbf{P}_1 = (x_1,y_1)$, and two weights $w_0$ and $w_1$. The linear rational Bézier curve defined by these points has equation
$$
mathbf{P}(t) = frac {(1-t)w_0 mathbf{P}_0 + t w_1 mathbf{P}_1 }
{(1-t)w_0 + t w_1 }
$$
Or, in terms of coordinates
$$
x(t) = frac {(1-t)w_0 x_0 + t w_1 x_1 }
{(1-t)w_0 + t w_1 } quad;quad
y(t) = frac {(1-t)w_0 y_0 + t w_1 y_1 }
{(1-t)w_0 + t w_1 }
$$
In your example, we have the data $(x_0,y_0) = (0,0)$, $(x_1,y_1) = (0,1)$, $w_0=1$, $w_1=2$. Substituting these into the equations above, we get
$$
x(t) = 0 quad;quad
y(t) = frac{ 2t }{1+t }
$$
One interesting thing to note: when $t = tfrac12$, we get $y(t)=tfrac23$, which is not the mid-point of the line. So, a linear rational Bézier curve is a straight line, but the line is not traversed with constant speed.
The linear interpolation idea can be applied with rational Bézier curves, too. I'll just treat the case of 2D curves, since this gives us an easy way to visualize. The basic idea is to construct an ordinary (polynomial) Bézier curve in 3D, and then project it onto the plane $z=1$. So, in detail, we let
begin{align}
X(t) &= (1-t)w_0 x_0 + t w_1 x_1 \
Y(t) &= (1-t)w_0 y_0 + t w_1 y_1 \
Z(t) &= (1-t)w_0 + t w_1
end{align}
Clearly this is just an ordinary 3D (polynomial) Bézier curve defined by the two points $(w_0 x_0, w_0 y_0, w_0)$ and $(w_1 x_1, w_1 y_1, w_1)$. Then we project the 3D point $bigl( X(t), Y(t), Z(t) bigr)$ along a line through the origin onto the plane $Z=1$. This picture illustrates this projection
The point $mathbf{C}$ is the origin, and $pi$ is the plane $Z=1$. Again, note that the mid-point of the blue 3D line $E$ will not be projected onto the mid-point of the red 2D line $E'$. This projection has the equation $f(X,Y,Z) = (X/Z,Y/Z)$, so the projected curve has equation
$$
mathbf{R}(t) = left( frac{X}{Z}, frac{Y}{Z} right) =
left( frac {(1-t)w_0 x_0 + t w_1 x_1 }
{(1-t)w_0 + t w_1 } ,
frac {(1-t)w_0 y_0 + t w_1 y_1 }
{(1-t)w_0 + t w_1 } right)
$$
This is the equation of the linear rational Bézier curve that we saw above.
You are right that only the ratios of the weights matters, not their numerical values. In any of the equations above, you can replace $w_0$ and $w_1$ by $kw_0$ and $kw_1$, and the $k$ will cancel out, leaving you with the same equation.
edited Mar 25 at 23:33
fospathi
33
33
answered Nov 26 '17 at 5:58
bubbabubba
30.8k33188
30.8k33188
add a comment |
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2535780%2fhelp-me-understand-rational-b%25c3%25a9zier-curve%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown