What formula could mimic the following curve?
$begingroup$
For the purpose of deforming a 3D mesh, I am looking for a formula to generate a curve I could evaluate like the following:
Its shape would be more or less a simplified version of wind waves over an ocean, where it starts slowly and ends more abruptly.
Which formula, if any, could allow me to draw such curve ?
curves
$endgroup$
add a comment |
$begingroup$
For the purpose of deforming a 3D mesh, I am looking for a formula to generate a curve I could evaluate like the following:
Its shape would be more or less a simplified version of wind waves over an ocean, where it starts slowly and ends more abruptly.
Which formula, if any, could allow me to draw such curve ?
curves
$endgroup$
1
$begingroup$
anyone for function golf on Area 51? (similar to code golf) ;-)
$endgroup$
– uhoh
17 mins ago
add a comment |
$begingroup$
For the purpose of deforming a 3D mesh, I am looking for a formula to generate a curve I could evaluate like the following:
Its shape would be more or less a simplified version of wind waves over an ocean, where it starts slowly and ends more abruptly.
Which formula, if any, could allow me to draw such curve ?
curves
$endgroup$
For the purpose of deforming a 3D mesh, I am looking for a formula to generate a curve I could evaluate like the following:
Its shape would be more or less a simplified version of wind waves over an ocean, where it starts slowly and ends more abruptly.
Which formula, if any, could allow me to draw such curve ?
curves
curves
asked 7 hours ago
AybeAybe
1586
1586
1
$begingroup$
anyone for function golf on Area 51? (similar to code golf) ;-)
$endgroup$
– uhoh
17 mins ago
add a comment |
1
$begingroup$
anyone for function golf on Area 51? (similar to code golf) ;-)
$endgroup$
– uhoh
17 mins ago
1
1
$begingroup$
anyone for function golf on Area 51? (similar to code golf) ;-)
$endgroup$
– uhoh
17 mins ago
$begingroup$
anyone for function golf on Area 51? (similar to code golf) ;-)
$endgroup$
– uhoh
17 mins ago
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
Try the function
$$f(x)=arctanleft(frac{asin(x-c)}{b+acos x}right) + d$$
Also try $f(f(x))$ and other compositions of $f$ with itself.
The image shows the function $f(f(x))$, with $a=0.9$, $b=1$, $c=0.7$, $d=0.4$.
I recommend that you use desmos to preview the function. For your convenience, here is a template that I have created. Just change the sliders to adjust the constants to your liking. You can also scale the $x$-axis if the peaks are spread out too much.
I hope this helps.
$endgroup$
1
$begingroup$
Thank you, exactly what I was looking for :)
$endgroup$
– Aybe
5 hours ago
add a comment |
$begingroup$
@Haris Gusic : I have seen your solution which fits nicely the objectives of the asker with its 3 different tunable parameters.
I propose here two alternatives, one which is more intuitive, using linear algebra, the other one which is more 'numerical analysis' oriented.
1) I have been striken by the fact that the curve desired by Aybe is a perspective (or shadow) of a sine curve (or a power of a sine curve). Let us see it on the (red) curve of $y=sin(x)^n$ and its (blue) perspective image, which is an alternate answer to the question, with parametric equations given by
$$begin{cases}x&=&t+0.8sin(t)^n\y&=&0.1sin(t)^nend{cases} text{here, with } n=4.$$
Why that ? This "shadowing effect" is rendered by a so-called "skewing" or "transvection" linear operation with an upper triangular matrix:
$$color{blue}{binom{x}{y}}=begin{pmatrix}1&0.8\0&0.1end{pmatrix}color{red}{binom{t}{sin(t)^n}}$$
(this matrix reflects the fact that the horizontal direction is preserved whereas the former vertical direction has been bent rightwards).
Remark : the second column entries of the matrix as well as the sine exponent are tunable... You can even, in this way, obtain breaking waves...
Fig. 1. A linear algebra solution : the blue curve as a "shadow" of the red curve.
2) A "numerical analysis" method using quadratic splines.
I will not enter into the details because it is not sure at all that you are acquainted with such curves, which are made of parabolas connected in a "smooth" way.
Here is the Matlab program that explains all (notice the red, magenta and plus parabola with right translation variable $k$) and the figure it generates :
clear all;close all;hold on;
t=0:0.01:1;
for k=0:5:15
plot(2*t+k,t.^2,'r');
plot(-2*t.^2+4*t+2+k,-4*t.^2+4*t+1,'m');
plot(4+t.^2+k,(1-t).^2,'b');
end;
Fig. 2 : A quadratic spline solution based on 3 parabolas (red, magenta, blue) connected in a smooth way, repeated "ad libidum".
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
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');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
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%2f3132764%2fwhat-formula-could-mimic-the-following-curve%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Try the function
$$f(x)=arctanleft(frac{asin(x-c)}{b+acos x}right) + d$$
Also try $f(f(x))$ and other compositions of $f$ with itself.
The image shows the function $f(f(x))$, with $a=0.9$, $b=1$, $c=0.7$, $d=0.4$.
I recommend that you use desmos to preview the function. For your convenience, here is a template that I have created. Just change the sliders to adjust the constants to your liking. You can also scale the $x$-axis if the peaks are spread out too much.
I hope this helps.
$endgroup$
1
$begingroup$
Thank you, exactly what I was looking for :)
$endgroup$
– Aybe
5 hours ago
add a comment |
$begingroup$
Try the function
$$f(x)=arctanleft(frac{asin(x-c)}{b+acos x}right) + d$$
Also try $f(f(x))$ and other compositions of $f$ with itself.
The image shows the function $f(f(x))$, with $a=0.9$, $b=1$, $c=0.7$, $d=0.4$.
I recommend that you use desmos to preview the function. For your convenience, here is a template that I have created. Just change the sliders to adjust the constants to your liking. You can also scale the $x$-axis if the peaks are spread out too much.
I hope this helps.
$endgroup$
1
$begingroup$
Thank you, exactly what I was looking for :)
$endgroup$
– Aybe
5 hours ago
add a comment |
$begingroup$
Try the function
$$f(x)=arctanleft(frac{asin(x-c)}{b+acos x}right) + d$$
Also try $f(f(x))$ and other compositions of $f$ with itself.
The image shows the function $f(f(x))$, with $a=0.9$, $b=1$, $c=0.7$, $d=0.4$.
I recommend that you use desmos to preview the function. For your convenience, here is a template that I have created. Just change the sliders to adjust the constants to your liking. You can also scale the $x$-axis if the peaks are spread out too much.
I hope this helps.
$endgroup$
Try the function
$$f(x)=arctanleft(frac{asin(x-c)}{b+acos x}right) + d$$
Also try $f(f(x))$ and other compositions of $f$ with itself.
The image shows the function $f(f(x))$, with $a=0.9$, $b=1$, $c=0.7$, $d=0.4$.
I recommend that you use desmos to preview the function. For your convenience, here is a template that I have created. Just change the sliders to adjust the constants to your liking. You can also scale the $x$-axis if the peaks are spread out too much.
I hope this helps.
edited 5 hours ago
answered 6 hours ago
Haris GusicHaris Gusic
2,198120
2,198120
1
$begingroup$
Thank you, exactly what I was looking for :)
$endgroup$
– Aybe
5 hours ago
add a comment |
1
$begingroup$
Thank you, exactly what I was looking for :)
$endgroup$
– Aybe
5 hours ago
1
1
$begingroup$
Thank you, exactly what I was looking for :)
$endgroup$
– Aybe
5 hours ago
$begingroup$
Thank you, exactly what I was looking for :)
$endgroup$
– Aybe
5 hours ago
add a comment |
$begingroup$
@Haris Gusic : I have seen your solution which fits nicely the objectives of the asker with its 3 different tunable parameters.
I propose here two alternatives, one which is more intuitive, using linear algebra, the other one which is more 'numerical analysis' oriented.
1) I have been striken by the fact that the curve desired by Aybe is a perspective (or shadow) of a sine curve (or a power of a sine curve). Let us see it on the (red) curve of $y=sin(x)^n$ and its (blue) perspective image, which is an alternate answer to the question, with parametric equations given by
$$begin{cases}x&=&t+0.8sin(t)^n\y&=&0.1sin(t)^nend{cases} text{here, with } n=4.$$
Why that ? This "shadowing effect" is rendered by a so-called "skewing" or "transvection" linear operation with an upper triangular matrix:
$$color{blue}{binom{x}{y}}=begin{pmatrix}1&0.8\0&0.1end{pmatrix}color{red}{binom{t}{sin(t)^n}}$$
(this matrix reflects the fact that the horizontal direction is preserved whereas the former vertical direction has been bent rightwards).
Remark : the second column entries of the matrix as well as the sine exponent are tunable... You can even, in this way, obtain breaking waves...
Fig. 1. A linear algebra solution : the blue curve as a "shadow" of the red curve.
2) A "numerical analysis" method using quadratic splines.
I will not enter into the details because it is not sure at all that you are acquainted with such curves, which are made of parabolas connected in a "smooth" way.
Here is the Matlab program that explains all (notice the red, magenta and plus parabola with right translation variable $k$) and the figure it generates :
clear all;close all;hold on;
t=0:0.01:1;
for k=0:5:15
plot(2*t+k,t.^2,'r');
plot(-2*t.^2+4*t+2+k,-4*t.^2+4*t+1,'m');
plot(4+t.^2+k,(1-t).^2,'b');
end;
Fig. 2 : A quadratic spline solution based on 3 parabolas (red, magenta, blue) connected in a smooth way, repeated "ad libidum".
$endgroup$
add a comment |
$begingroup$
@Haris Gusic : I have seen your solution which fits nicely the objectives of the asker with its 3 different tunable parameters.
I propose here two alternatives, one which is more intuitive, using linear algebra, the other one which is more 'numerical analysis' oriented.
1) I have been striken by the fact that the curve desired by Aybe is a perspective (or shadow) of a sine curve (or a power of a sine curve). Let us see it on the (red) curve of $y=sin(x)^n$ and its (blue) perspective image, which is an alternate answer to the question, with parametric equations given by
$$begin{cases}x&=&t+0.8sin(t)^n\y&=&0.1sin(t)^nend{cases} text{here, with } n=4.$$
Why that ? This "shadowing effect" is rendered by a so-called "skewing" or "transvection" linear operation with an upper triangular matrix:
$$color{blue}{binom{x}{y}}=begin{pmatrix}1&0.8\0&0.1end{pmatrix}color{red}{binom{t}{sin(t)^n}}$$
(this matrix reflects the fact that the horizontal direction is preserved whereas the former vertical direction has been bent rightwards).
Remark : the second column entries of the matrix as well as the sine exponent are tunable... You can even, in this way, obtain breaking waves...
Fig. 1. A linear algebra solution : the blue curve as a "shadow" of the red curve.
2) A "numerical analysis" method using quadratic splines.
I will not enter into the details because it is not sure at all that you are acquainted with such curves, which are made of parabolas connected in a "smooth" way.
Here is the Matlab program that explains all (notice the red, magenta and plus parabola with right translation variable $k$) and the figure it generates :
clear all;close all;hold on;
t=0:0.01:1;
for k=0:5:15
plot(2*t+k,t.^2,'r');
plot(-2*t.^2+4*t+2+k,-4*t.^2+4*t+1,'m');
plot(4+t.^2+k,(1-t).^2,'b');
end;
Fig. 2 : A quadratic spline solution based on 3 parabolas (red, magenta, blue) connected in a smooth way, repeated "ad libidum".
$endgroup$
add a comment |
$begingroup$
@Haris Gusic : I have seen your solution which fits nicely the objectives of the asker with its 3 different tunable parameters.
I propose here two alternatives, one which is more intuitive, using linear algebra, the other one which is more 'numerical analysis' oriented.
1) I have been striken by the fact that the curve desired by Aybe is a perspective (or shadow) of a sine curve (or a power of a sine curve). Let us see it on the (red) curve of $y=sin(x)^n$ and its (blue) perspective image, which is an alternate answer to the question, with parametric equations given by
$$begin{cases}x&=&t+0.8sin(t)^n\y&=&0.1sin(t)^nend{cases} text{here, with } n=4.$$
Why that ? This "shadowing effect" is rendered by a so-called "skewing" or "transvection" linear operation with an upper triangular matrix:
$$color{blue}{binom{x}{y}}=begin{pmatrix}1&0.8\0&0.1end{pmatrix}color{red}{binom{t}{sin(t)^n}}$$
(this matrix reflects the fact that the horizontal direction is preserved whereas the former vertical direction has been bent rightwards).
Remark : the second column entries of the matrix as well as the sine exponent are tunable... You can even, in this way, obtain breaking waves...
Fig. 1. A linear algebra solution : the blue curve as a "shadow" of the red curve.
2) A "numerical analysis" method using quadratic splines.
I will not enter into the details because it is not sure at all that you are acquainted with such curves, which are made of parabolas connected in a "smooth" way.
Here is the Matlab program that explains all (notice the red, magenta and plus parabola with right translation variable $k$) and the figure it generates :
clear all;close all;hold on;
t=0:0.01:1;
for k=0:5:15
plot(2*t+k,t.^2,'r');
plot(-2*t.^2+4*t+2+k,-4*t.^2+4*t+1,'m');
plot(4+t.^2+k,(1-t).^2,'b');
end;
Fig. 2 : A quadratic spline solution based on 3 parabolas (red, magenta, blue) connected in a smooth way, repeated "ad libidum".
$endgroup$
@Haris Gusic : I have seen your solution which fits nicely the objectives of the asker with its 3 different tunable parameters.
I propose here two alternatives, one which is more intuitive, using linear algebra, the other one which is more 'numerical analysis' oriented.
1) I have been striken by the fact that the curve desired by Aybe is a perspective (or shadow) of a sine curve (or a power of a sine curve). Let us see it on the (red) curve of $y=sin(x)^n$ and its (blue) perspective image, which is an alternate answer to the question, with parametric equations given by
$$begin{cases}x&=&t+0.8sin(t)^n\y&=&0.1sin(t)^nend{cases} text{here, with } n=4.$$
Why that ? This "shadowing effect" is rendered by a so-called "skewing" or "transvection" linear operation with an upper triangular matrix:
$$color{blue}{binom{x}{y}}=begin{pmatrix}1&0.8\0&0.1end{pmatrix}color{red}{binom{t}{sin(t)^n}}$$
(this matrix reflects the fact that the horizontal direction is preserved whereas the former vertical direction has been bent rightwards).
Remark : the second column entries of the matrix as well as the sine exponent are tunable... You can even, in this way, obtain breaking waves...
Fig. 1. A linear algebra solution : the blue curve as a "shadow" of the red curve.
2) A "numerical analysis" method using quadratic splines.
I will not enter into the details because it is not sure at all that you are acquainted with such curves, which are made of parabolas connected in a "smooth" way.
Here is the Matlab program that explains all (notice the red, magenta and plus parabola with right translation variable $k$) and the figure it generates :
clear all;close all;hold on;
t=0:0.01:1;
for k=0:5:15
plot(2*t+k,t.^2,'r');
plot(-2*t.^2+4*t+2+k,-4*t.^2+4*t+1,'m');
plot(4+t.^2+k,(1-t).^2,'b');
end;
Fig. 2 : A quadratic spline solution based on 3 parabolas (red, magenta, blue) connected in a smooth way, repeated "ad libidum".
edited 2 hours ago
answered 3 hours ago
Jean MarieJean Marie
30.4k42153
30.4k42153
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');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
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%2f3132764%2fwhat-formula-could-mimic-the-following-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');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
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');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
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');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
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
1
$begingroup$
anyone for function golf on Area 51? (similar to code golf) ;-)
$endgroup$
– uhoh
17 mins ago