A Construction

On a blog I found the following problem: Construct the following outlet.


The sides of this should be circles with vertical tangents at the top edge. The width and depth at the bottom and top as well as the height are given. Of course, we use Euler Math Toolbox and its symbolic part Maxima for this. First we need a function to compute the center (w2+d,h) of a circle passing through (w1,0) and (w2,h) with radius d.

>function d(w1,w2,h) &= d with solve((w1-(w2+d))^2+h^2=d^2,d)
                           2               2    2
                       - w2  + 2 w1 w2 - w1  - h
                              2 w2 - 2 w1


Then we wish to compute the x-coordinate of any point at height z. of such a circle.

>function fx(z,d,w1,w2,h) &= x with solve((x-(w2+d))^2+(z-h)^2=d^2,x)[1]
                          2            2    2
                - sqrt(- z  + 2 h z - h  + d ) + w2 + d

We define a function for the x-coordinate at height z and plot an example.

>function f(z,w1,w2,h) := fx(z,d(w1,w2,h),w1,w2,h);
>h=100; z=0:100; x=f(z,60,20,h); plot2d(x,z,a=0,b=h,c=0,d=h):


That looks good.  Now we can define x-, y-,and z- coordinates of the 3D plot above. The matrix will contain four rows with each row going along the edges of the 3D object. The plot is then easy.

>x1=f(z,40,10,h); Y=0_x1_x1_0;

While neither of this is rocket science, it requires a lot of geometrical imagination and some algebraic skill. Add to this the complexity of the formulas, and you will find that students are unable to complete the solution with paper and pencil. Indeed, this is a very fine example of the usefulness of symbolic algebra.

For an impression, here is the formula for f(z,w1,w2,h):


Knowing the x-coordinate at height z does also not answer the question how to construct the hood in real life. For that you would have to compute the width of the front element depending on the length along its curve.

04. Februar 2014 von mga010
Kategorien: English, Euler | Schreibe einen Kommentar

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert