この本のp40にはとても面白い立体図形の問題が載っています。
「3面図が、平面図は正方形、正面図と右側側面図が円であるような立体の図を描け。」
平面図も円ならば、求める立体の一つの候補は明らかに球です。でも上から見ると正方形!!
書籍では求め方を解説し、図形をスライスして描く方法を提案し、実際にgnuplotを使って描画しています。Maximaで出来ない理由は、3Dグラフを重ね書き出来ないから、、
だそうです。
当時のMaximaは5.12.0、今は5.30.0まで成長し、(少なくとも)draw パッケージを使えば3Dグラフの重ね書きも出来ます。
(%i28) f(z,t):=t*sqrt(1.0-z^2);
$$ \tag{%o28} f\left(z , t\right):=t\,\sqrt{1.0-z^2} $$
(%i29) draw3d(proportional_axes = xyz, dimensions=[1200,1200],
surface_hide = true,
parametric_surface(f(-0.9,a),f(-0.9,b),-0.9,a,-1,1,b,-1,1),
parametric_surface(f(-0.8,a),f(-0.8,b),-0.8,a,-1,1,b,-1,1),
parametric_surface(f(-0.7,a),f(-0.7,b),-0.7,a,-1,1,b,-1,1),
parametric_surface(f(-0.6,a),f(-0.6,b),-0.6,a,-1,1,b,-1,1),
parametric_surface(f(-0.5,a),f(-0.5,b),-0.5,a,-1,1,b,-1,1),
parametric_surface(f(-0.4,a),f(-0.4,b),-0.4,a,-1,1,b,-1,1),
parametric_surface(f(-0.3,a),f(-0.3,b),-0.3,a,-1,1,b,-1,1),
parametric_surface(f(-0.2,a),f(-0.2,b),-0.2,a,-1,1,b,-1,1),
parametric_surface(f(-0.1,a),f(-0.1,b),-0.1,a,-1,1,b,-1,1),
parametric_surface(f(0.0,a),f(0.0,b),0.0,a,-1,1,b,-1,1),
parametric_surface(f(0.1,a),f(0.1,b),0.1,a,-1,1,b,-1,1),
parametric_surface(f(0.2,a),f(0.2,b),0.2,a,-1,1,b,-1,1),
parametric_surface(f(0.3,a),f(0.3,b),0.3,a,-1,1,b,-1,1),
parametric_surface(f(0.4,a),f(0.4,b),0.4,a,-1,1,b,-1,1),
parametric_surface(f(0.5,a),f(0.5,b),0.5,a,-1,1,b,-1,1),
parametric_surface(f(0.6,a),f(0.6,b),0.6,a,-1,1,b,-1,1),
parametric_surface(f(0.7,a),f(0.7,b),0.7,a,-1,1,b,-1,1),
parametric_surface(f(0.8,a),f(0.8,b),0.8,a,-1,1,b,-1,1),
parametric_surface(f(0.9,a),f(0.9,b),0.9,a,-1,1,b,-1,1))$
(%i30)
斜め横から見ると確かに円です。一番上や一番下のスライスを見ると四角であることが分かります。
もっとよく分かるように真上に近い視点で見下ろしてみます。
ちゃんと要件を満たしていることが分かります。Maximaでも出来る!