Download ModelDownload SourceembedFeedback



Function plotter z = f ( x , y )

3D Waves

This function plotter displays functions of typical 3D waves z = f(x , y) that may contain up to 4 continuously variable parameters a, b, c, p. In the predefined waves p controls the speed of the waves in the xy plane

At start of the simulation you will first see the projection of a plane wave in space traveling in the x direction, viewed under perspective distortion. It is embedded into an xyz tripod, and is accompanied by the xy-plane z = 0. This plane can be deactivated by its check box.

Other predefined waves can by selected in the ComboBox.

By phase modulation of one or more of the variables the periodic waves are animated, so that they appear to be moving in space as a function of time. As you see in the formula field, for example, the periodic function sin(x-t) is creating the movement in the x direction. The program calculates functions in time in steps of ∆t = p*0.1 milliseconds. Slider p thus controls the speed of animation. p = 0 freezes the graph.

Play starts the animation, with time t starting at 0, as indicated in the t number field. With (x - t) rising linearly, the wave progresses in space. Sliders a, b, c define amplitude and orientation. Pause freezes the animation at any spatial position. Reset leads back to the initial conditions.

Scaling of all three axes has a range of ∓1. The xy-plane cuts the z-axis at the center of the z-arrow. The minimum and maximum position of the z-axis is marked by a red and a green point.

The orientation of the tripod in space can be changed by drawing with the mouse.

Other ways of visualization are described on the next page.

Predefined wave forms are selected in the ComboBox with a mouse click.

Parameters a,b,c can be varied by sliders while the animation is running. By editing the fomulas you can change the parts that are animated. You can input new formulas to create your own waves. Do not forget to press the ENTER key after a change!

Touching a wave with the mouse pointer lets its color filling disappear; the wire mesh of calculation will be pronouncedly visible.


Visualization alternatives

Rotation:  Mark any point within the tripod by the mouse pointer and draw (while the left mouse key stays pressed).

Shift:  Draw while the Strg key is pressed.

Zoom:  Draw while the Shift key is pressed

Show coordinates:  Mark a point on the surface while pressing the Alt key. When you draw, a cutting plane will pass through the surface. Depending on orientation, different cuts can be evaluated.

Camera- Inspector: Press the right mouse key. A context menu will appear. Choose Elements option/ drawing 3D panel/ Camera. The Camera Inspector will appear. It will stay visible until it is deactivated. It offers the following options:

Perspective:  Distant lines appear shorter than near ones.

No perspective:  No perspective distortion.

Planar xy or yz or yx : One looks onto the respective planes.

Other options: Degree and angle of perspective can be defined.

Optimizing  parameters. The spatial impression can be optimized by adjusting parameters. The optimum will be different for different projections.

The context menu also offers programs for producing a picture or a video.


Predefined functions

a*sin(b*x-t): Plane wave x

a*sin(b*y-t): Plane wave y

0.3*sin(6*pi*a*(b*x+c*y)/sqrt(b*b+c*c)-t): Plane wave direction adjustable

a*(sin(b*y-t)+sin(b*y-t)): Interference concurrent f1

a*(sin(b*y-t)+sin(-b*y-t)): Interference countercurrent f1

a*(sin(b*y-t)+sin(c*y-t)): Interference concurrent f1 + f2

a*(sin(b*y-t)+sin(-c*y-t)): Interference countercurrent f1 + f2

a*(sin(b*x-t)+sin(c*y-t)): Interference perpendicular f1 + f2

a*(sin(b*(y-(c-pi)*x)-t)+sin(b*(y+(c-pi)*x)-t)): Interference angle < 90 adjustable (c)

a*(sin(b*(y-(c-pi)*x)-t)+sin(b*(-y+(c-pi)*x)-t)): Interference angle > 90 adjustable (c)

a*sin(b*(x*x+y*y)-t): Radial wave outward

a*sin(b*(x*x+y*y)+t): Radial wave inward

a*(sin(b*(x^2+y^2)-t)+sin(b*(x^2+y^2)+t)): Standing radial wave

0.4*a*sin(b*(x^2+y^2)-t)/sqrt(0.1+x^2+y^2): Surface wave outward

0.2*a*sin(b*(x^2+y^2)-t)/(0.1+x^2+y^2): Space wave outward

From function_3d, made to work by changing all cos to sin, sqrt to pow( , 0.5) etc due to a programming fixed realtionship to replace all a,b,c,t

cos(t)*(b*x+a*y)-c: Plane in space

a*cos(t)*(x^2+y^2)-c: Rotational paraboloid

cos(t)*((b*x)^2+(a*y)^2)-c:  General paraboloid

cos(t)*((b*x)^2-(a*y)^2)-c:  Parabolic saddle

4*sqrt((a^2)*abs(cos(t))-0.04*(x^2)-0.04*(y^2)):  Sphere

sqrt((c^2)-((c/a)*x*cos(t))^2 - ((c/a)*y*cos(t))^2):  Rotational ellipsoid

sqrt((c^2)-((c/a)*x)^2 - ((c/b)*y*cos(t))^2):  General ellipsoid

sqrt(a*(cos(t))^2+x^2+y^2)-c:  Rotational hyperboloid

sqrt((a^2)+b*(x^2)+c*(y^2))-p:  General hyperboloid

sqrt((a^2)-cos(t)*(b*(x^2)-c*(y^2)):  Elliptic-hyperbolic saddle

cos(t)*x*y:  Hyperbolic saddle


E1: Test the different waves without change of parameters. Rotate the frames and train your 3D perception of these functions.

E2: Study the formulas and develop a sense for the relation between formula and wave.

E3: Orient the tripod to optimize the spatial impression of the animated wave.

E4: Vary parameters and study the influence on the appearance of the wave.

E5: Change signs (+/-) in the formula and study the effect.

E6: Introduce power of periodics in the formula. What happens?

E7: Edit the formula arbitrarily and consider in advance how that should influence the wave.

E8: Superimpose waves of different speed (e.g. one with cox(bx-pt), the other one with cos(bx-cpt). Do that for different frequencies of the waves.

E9: Delete the animation term and use p as a free fourth parameter in your own formula.

E10: Consider which forms of waves you have observed at the beach, and try to reduplicate some as a formula.


This file was created by Dieter Roess in Aug. 2008

This simulation is part of

“Learning and Teaching Mathematics using Simulations

– Plus 2000 Examples from Physics”

ISBN 978-3-11-025005-3, Walter de Gruyter GmbH & Co. KG


For Teachers


Software Requirements


Android iOS Windows MacOS
with best with Chrome Chrome Chrome Chrome
support fullscreen? Yes. Chrome/Opera No. Firefox/ Sumsung Internet Not yet Yes Yes
cannot work on some mobile browser that don't understand JavaScript such as..... cannot work on Internet Explorer 9 and below



Dieter Roess - WEH- Foundation; Tan Wei Chiong; Loo Kang Wee

end faq

Sample Learning Goals


For Teachers

This simulation allows for graphical visualisation of a 3D sinusoidal function as a wave.

There are 15 predefined functions that can be inputted from the drop-down menu.

You can also adjust different parameters of the function to see how they affect the wave:

a: Amplitude

b: Frequency

c: Direction (only applicable to functions which allow for change in direction)

p: Simply adjusts the speed of the simulation.

In addition, the x-y plane can be toggled to more easily visualise the positive and negative parts of the wave.







  1. improved version with joseph chua's inputs
  2. original simulation by lookang

Other Resources


end faq

1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)