4
$\begingroup$

I have this graphic: hyperbola

But I would like this:

wiggly hyperbola

without the yellow curve, of course.

$\endgroup$
2
  • 5
    $\begingroup$ Unless you want a specific formula I recommend xkcd-style Plots :) $\endgroup$ Commented Mar 5, 2018 at 7:33
  • 1
    $\begingroup$ Btw.: Are you aware that you plot the same curve twice? You can use the option PlotStyle to change, e.g, line colors... $\endgroup$ Commented Mar 5, 2018 at 10:53

2 Answers 2

16
$\begingroup$

There are likely other ways, but this is one of the simplest:

curve = {x, Sqrt[x^2 + 1]}; nv = Normalize[Cross[D[curve, x]]]; With[{n = 30, h = 1/10}, ParametricPlot[{curve, curve + h Sin[n x] nv} // Evaluate, {x, -2, 2}]] 

wiggly hyperbola

$\endgroup$
3
$\begingroup$

This is another simple way. The idea is to plot a $\cos$ function, by changing its frequency and amplitude, you can adjust the twisting needed

f1[x_]:=Sqrt[x^2+1] data=Table[z0= 1/10 Cos[50 x];z1=f1[x];{x,z0+z1},{x,-2,2,.02}]; Show[Plot[f1[x],{x,-2,2},AxesOrigin->{0,.7}], ListLinePlot[data,PlotStyle->Red]] 

Mathematica graphics

This one has smaller frequency

data=Table[z0=1/10 Cos[20 x];z1=f1[x];{x,z0+z1},{x,-2,2,.02}]; 

Mathematica graphics

enter image description here

Manipulate[ data = Table[z0 = h Cos[w x]; z1 = f1[x]; {x, z0 + z1}, {x, -2, 2, .02}]; Show[Plot[f1[x], {x, -2, 2}, AxesOrigin -> {0, .7}], ListLinePlot[data, PlotStyle -> Red]], {{h, .1, "amplitude"}, 0, .5, .01, Appearance -> "Labeled"}, {{w, 20, "frequency"}, 1, 100, 1, Appearance -> "Labeled"}, TrackedSymbols :> {h, w}, Initialization :> ( f1[x_] := Sqrt[x^2 + 1]; ) ] 
$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.