The Journal of Online Mathematics and Its Applications, Volume 7 (2007)
GeoGebra, Markus Hohenwarter and Judith Preiner

# Construction Protocol of Composite Functions

The following construction protocol explains how to draw the graph of the composition of two functions g(x) and h(x).

Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.4.2 (or later) is installed and activated. ( click here to install Java now)

Use the buttons in the navigation bar to go through our construction step by step.

1. We create the functions g(x) = sin(3 x) and h(x) = x2 / 4 by using the input field. This gives us the equations of the functions in the algebra window and their graphs in the geometry window.
2. Then we draw the median line m: y = x and place a point x0 on the x-axis.
3. To get the graph of the composite function f(x) = g(h(x)) we first draw a vertical segment from X0 to the inner function h(x) which gives us point A.
4. Then we continue horizontally towards the median m: y = x to get point B.
5. Afterwards we proceed vertically towards the outer function g(x) where we reach point C.
6. By closing the rectangle at point D with the last horizontal segment, we get the value f(x0) above or below our starting point x0.

Point D has the x-coordinate x0 while its y-coordinate is f(x0). By dragging point x0 with the mouse you can examine the course of the composite function f(x) = g(h(x)) which is created as the trace of point D (see Haftendorn, 2005, p. 235). To turn the trace on, right click (Mac OS: apple click) on point D and check "Trace on".

We did the construction of the vertices A, B, C and D by intersecting lines and graphs of functions. Another way would be to calculate the points directly using the input field, e.g. `A = (x(X_0), h(x(X_0))) or B = (y(A), y(A)).`

``` Up: Composite Functions var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); try { var pageTracker = _gat._getTracker("UA-10613664-1"); pageTracker._trackPageview(); } catch(err) {} ```