gnuplot: сделать только одну границу на поверхности более толстой - PullRequest
0 голосов
/ 04 февраля 2019

Итак, я пытаюсь построить трехмерную сферу на первом квадранте следующим образом:

enter image description here

Я хочу сделать линию BC толще / жирнее остальных.Как мне это сделать?

Это мой скрипт gnuplot:

set term wxt 0
set parametric
set urange[0:0.5 * pi]
set vrange[0:0.5 * pi]
r = 1
fx(v,u) = r * cos(v) * cos(u)
fy(v,u) = r * sin(u) * cos(v)
fz(v) = r * sin(v)
set label 1 "A" font "Arial, 15" front at 0.000, 0.900, -0.050 
set label 2 "B" font "Arial, 15" front at 0.050, 0.000, 0.900
set label 3 "C" font "Arial, 15" front at 1.050, 0.105, 0.000
set pm3d depthorder border linetype 1 linewidth 0.50
set style fill transparent solid 0.50 border
set palette
set hidden3d
unset colorbox
splot fx(u,v), fy(u,v), fz(u) w pm3d, \
    "< echo '0.000 0.000 1.000'" with points pt 7 ps 0.75 lc rgb 'black', \
    "< echo '0.000 1.000 0.000'" with points pt 7 ps 0.75 lc rgb 'black', \
    "< echo '1.000 0.000 0.000'" with points pt 7 ps 0.75 lc rgb 'black'
set term push
set term pdf enhanced mono
set output "b1.pdf"
replot
unset output
set term pop
system(sprintf("%s", "pdfcrop b1.pdf b1.pdf"))

1 Ответ

0 голосов
/ 04 февраля 2019

ну, просто нарисуйте линию B, C снова with lines.

И что это за линия в параметрическом представлении?fx(u,0), fy(0,0), fz(u)

splot fx(u,v), fy(u,v), fz(u) w pm3d, \
    fx(u,0), fy(0,0), fz(u) w l lw 3 lc rgb "red"

Что дает вам что-то вроде этого ... (ну, другой терминал ...)

enter image description here

...