by R. Grothmann

I want to compute the famous curve, which appears as a polar set of a ladder with fixed length, leaning at a wall (see the image below).

If a is the height of the ladder at the wall, then sqrt(1-a^2) is the distance of the foot from the wall (assuming the ladder has length 1), and we get the following equation for the line.

>eq &= y/a+x/sqrt(1-a^2)=1

y x - + ------------ = 1 a 2 sqrt(1 - a )

We can solve this equation for y, and get the equations of a set of lines.

>&solve(eq,y), function y(x,a) &= y with %[1]

2 a sqrt(1 - a ) - a x [y = --------------------] 2 sqrt(1 - a ) 2 a sqrt(1 - a ) - a x -------------------- 2 sqrt(1 - a )

The maximal height at each x is the curve, we are looking for (the envelope). So we try to find it, making sure to pick the correct solution.

>&assume(x>0); sol &= solve(diff(y(x,a),a)=0,a)

2/3 2/3 sqrt(sqrt(3) I x + x + 2) [a = - -------------------------------, sqrt(2) 2/3 2/3 sqrt(sqrt(3) I x + x + 2) a = -------------------------------, sqrt(2) 2/3 2/3 sqrt(- sqrt(3) I x + x + 2) a = - ---------------------------------, sqrt(2) 2/3 2/3 sqrt(- sqrt(3) I x + x + 2) 2/3 a = ---------------------------------, a = - sqrt(1 - x ), sqrt(2) 2/3 a = sqrt(1 - x )]

>function f(x) &= factor(at(y(x,a),sol[6]))

2/3 1/3 sqrt(1 - x ) (x - x ) - ------------------------- 1/3 x

There is the following parametrization of the curve.

>&assume(cos(t)>0); &trigsimp(f(sin(t)^3))

3 cos (t)

Now we plot everything, first the ladders.

>a=(0.1:0.05:0.9)'; plot2d("y(x,a)",a=0,b=1,c=0,d=1):

Then the function.

>plot2d("f",add=1,color=2,thickness=2):

We can use the very same code to study other functions, like the segments, such that the y-abscissa plus the x-abscissa are constant.

>eq &= y/a+x/(1-a)=1

y x - + ----- = 1 a 1 - a

We can solve this equation for y, and get the equations of a set of lines.

>&assume(x>0); ... &solve(eq,y); function y(x,a) &= y with %

2 a x + a - a ------------ a - 1

The maximal height at each x is the curve, we are looking for (the envelope). So we try to find it, making sure to pick the correct solution.

>&solve(diff(y(x,a),a)=0,a), function f(x) &= factor(y(x,a) with %[1])

[a = 1 - sqrt(x), a = sqrt(x) + 1] 3/2 x - 2 x + sqrt(x) -------------------- sqrt(x)

Now we plot everything, first the ladders.

>a=(0.1:0.05:0.9)'; plot2d("y(x,a)",a=0,b=1,c=0,d=1); ... plot2d("f",add=1,color=2,thickness=2):

Here is another example wheret the y-abscissa times the x-abscissa is constant.

>eq &= y/a+a*x=1

y - + a x = 1 a

We can solve this equation for y, and get the equations of a set of lines.

>&solve(eq,y); function y(x,a)&=rhs(%[1])

2 a - a x

The maximal height at each x is the curve, we are looking for (the envelope). The result is very simple this time.

>&assume(x>0); ... &solve(diff(y(x,a),a)=0,a), function f(x)&=factor(at(y(x,a),%[1]))

1 [a = ---] 2 x 1 --- 4 x

Now we can plot everything.

>a=exp(-4:0.2:4)'; plot2d("y(x,a)",a=0,b=1,c=0,d=1); ... plot2d("1/(4*x)",add=1,color=2,thickness=2):