мой комментарий слишком длинный для комментария ... Вы можете строить поверхности в gnuplot, но я не знаю, как вы можете как-то изобразить / визуализировать их непосредственно в математической форме, которую вы дали выше (мне также было бы интересноесли можно.) И я не знаю, что вы можете пересекать твердые тела и получать пересечения, исключения и т. д., как вы получаете в системе САПР.
Кроме того, однако, если я нанесу на карту ваши тела,пересечение сферы (уравнение 1) и октаэдра (уравнение 2) будет самой сферой, поскольку она полностью находится внутри октаэдра (см. изображение слева и в центре).Например, если вы масштабируете свой октаэдр на 0,75 (изображение справа), вы получите пересечение, которое отличается от исходной сферы.
Это иллюстрация, но все же не решение для того, что вы ищете.
Некоторые коды для иллюстрации:
### start code
reset session
set parametric
set view equal xyz
$Octahedron <<EOD
0 0 2
2 0 0
0 2 0
0 0 2
0 0 2
0 2 0
-2 0 0
0 0 2
0 0 2
-2 0 0
0 -2 0
0 0 2
0 0 2
0 -2 0
2 0 0
0 0 2
0 0 -2
2 0 0
0 2 0
0 0 2
0 0 -2
0 2 0
-2 0 0
0 0 2
0 0 -2
-2 0 0
0 -2 0
0 0 2
0 0 -2
0 -2 0
2 0 0
0 0 2
EOD
set xrange [-2:2]
set xtics 1
set yrange [-2:2]
set ytics 1
set zrange [-2:2]
set ztics 1
set urange [-pi/2:pi/2]
set vrange [0:2*pi]
set isosamples 19,13
set multiplot layout 1,3
splot $Octahedron u 1:2:3 w l not, \
cos(u)*cos(v),cos(u)*sin(v),sin(u) not
set hidden
replot
splot $Octahedron u ($1*0.75):($2*0.75):($3*0.75) w l not, \
cos(u)*cos(v),cos(u)*sin(v),sin(u) not
unset multiplot
### end of code
Иллюстрация: