2

Кто-нибудь знает, как построить с помощью gnuplot в 3D поверхность диска на плоскости XY с определенной толщиной, имеющей круглое отверстие в центре и плоские верхнюю и нижнюю поверхности при фиксированном z (тор, сплющенный на верхней и нижние поверхности).

1 ответ1

0

Поскольку ваша фигура имеет вертикальные касательные, ее нельзя записать как z=f(x,y) , поэтому использовать splot <function> невозможно. Тем не менее, вы можете построить данные из файла, см., Например, решение для построения кубов: http://www.gnuplotting.org/plotting-cubes/

Чтобы использовать gnuplot для генерации самих данных, вы можете использовать псевдофайл "++" и модификаторы, вот как построить цилиндр:

splot [-1:1][-1:1][0:1] '++' u (cos(pi*$1)):(sin(pi*$1)):($2) w lines

Для построения верхней поверхности вы можете использовать тот же трюк:

replot '++' u ($2*cos(pi*$1)):($2*sin(pi*$1)):1 w lines

Для вашей точной формы необходимы незначительные изменения. Я советую вам определить функции для вычисления координат x и y, они могут использовать GPVAL_X_MIN и co. чтобы нормализовать переменные $1 и $2 в соответствующем диапазоне независимо от диапазонов построения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .