Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2001
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2001

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Bump Function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg32051] Re: Bump Function
  • From: paladin_billw at yahoo.com
  • Date: Fri, 21 Dec 2001 03:57:17 -0500 (EST)
  • References: <9vchll$3mm$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

FWIW, here's a way to make smooth bumps that have a fixed value beyond
a threshold radius, can be scaled, centered anywhere, superimposed on
top of each other without ugly discontinuities, without wasting a lot
of time taking square roots.  Enjoy:

(*bumpProfile is a function which determines the cross section of the
bump function, note the use of Min[] to level the function off beyond
a radius of 1*)
bumpProfile:=2^(4+4(Min[.895*#,.895]^2-1)^-1)&;
Plot[bumpProfile@x,{x,0,1}];

(*scalebump is a function for scaling the height and width of
bumpProfile*)
scalebump[r_,rmax_,h_]:=h*bumpProfile[N[r/rmax]];

(*roundbump converts the scaled bumpProfile from a function of one
variable to a function of (x^2+y^2), and performs a translation*)
roundbump[x_,y_,xcent_,ycent_,r_,h_]:=
scalebump[#,r,h]&@Dot[#,#]&@{x-xcent,y-ycent};
Plot3D[roundbump[x,y,0,0,1,1],{x,-1,1},{y,-1,1},PlotPoints->20];

(*Composite of 8 random bumps*)
With[{bumpdata=
      With[{ nbumps=8, ranrngs={{-1,1},{-1,1},{.1,1},{0,1}} },
           Flatten@{x,y,Map[Random[Real,#]&,ranrngs]}&/@Range@nbumps
      ]
     },

 Plot3D[
   Evaluate[Plus@@#&[roundbump@@#&/@bumpdata]],
   {x,-1,1},{y,-1,1},PlotRange->All,PlotPoints->50
 ]
];


On Fri, 14 Dec 2001 09:44:21 +0000 (UTC), Ajitkumar
<ajitkumar at math.mu.ac.in> wrote:

>Hi,
>
>Could  somebody tell me how to plot the graph of bump functions. For
>example, if I want to draw the graph of the function say,
>
>f(x,y)	= x^2+y^2 for  x^2+y^2<1 
>	= 2  for x^2+y^2 >2
>
>
>Thanks 
>Ajit Kumar      
>Dept of Maths             
>University of Mumbai
>Vidyanagari, Kalina 
>Mumbai 400 098 	
>India 	
>Phone No. +91 652 6683
>Email- ajitkumar at math.mu.ac.in
>       ajit_kumara at hotmail.com
> http://math.mu.ac.in/faculty/scholars/ajit.html   
>
>


  • Prev by Date: Re: Is this a bug?
  • Next by Date: NDSolve problem with piecewise functions
  • Previous by thread: Re: Bump Function
  • Next by thread: restrictions on parameters