|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
# Show placement of circles in 3D using
|
|
Packit |
0986c0 |
# - sampling
|
|
Packit |
0986c0 |
# - circle objects in axis coordinates
|
|
Packit |
0986c0 |
# - circle objects and labels in polar (cylindrical) coordinates
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
save_encoding = GPVAL_ENCODING
|
|
Packit |
0986c0 |
set encoding utf8
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
unset border
|
|
Packit |
0986c0 |
unset key
|
|
Packit |
0986c0 |
set angles degrees
|
|
Packit |
0986c0 |
set view 64, 302, 1.62, 1.0
|
|
Packit |
0986c0 |
set view azimuth 23.4
|
|
Packit |
0986c0 |
set view equal xyz
|
|
Packit |
0986c0 |
set style data lines
|
|
Packit |
0986c0 |
set xzeroaxis
|
|
Packit |
0986c0 |
set yzeroaxis
|
|
Packit |
0986c0 |
set zzeroaxis
|
|
Packit |
0986c0 |
set xyplane at 0
|
|
Packit |
0986c0 |
unset tics
|
|
Packit |
0986c0 |
set xrange [ -1.1 : 1.1 ]
|
|
Packit |
0986c0 |
set yrange [ -1.1 : 1.1 ]
|
|
Packit |
0986c0 |
set zrange [ -1.1 : 1.1 ]
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
set title "Circles and polygons in 3D" font ",20"
|
|
Packit |
0986c0 |
set arrow from 0,0,-1.2 to 0,0,1.2 lw 2 filled
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
# Place circles as objects using Cartesian axis coordinates
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
set object 21 circle at 0,0,0 radius 1.0 fs empty border lc "black" lw 3 front
|
|
Packit |
0986c0 |
set object 22 circle at 0,0,1 radius 0.1 fs transparent solid 0.5 fc "slategray"
|
|
Packit |
0986c0 |
set object 23 circle at 0,0,-1 radius 0.1 fs transparent solid 0.5 fc "slategray"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
# Pentagonal "base"
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
set obj 24 polygon from polar 0, 0.5, -1.2 to polar 72, 0.5, -1.2 to polar 144, 0.5, -1.2 to polar 216, 0.5, -1.2 to polar 288, 0.5, -1.2 to polar 0, 0.5, -1.2
|
|
Packit |
0986c0 |
set obj 24 fillstyle solid border border lc "black" back fc "olive"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
# Plot symbols for Zodiac constellations in polar (actually cylindrical) coordinates
|
|
Packit |
0986c0 |
# Place a circle around the corresponding glyph
|
|
Packit |
0986c0 |
# Note: Many fonts do not provide glyphs for these symbols
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
array Zodiac[13] = ["♐", "♑", "♒", "♓", "♈", "♉", "♊", "♋", "♌", "♍", "♎", "♏", "⛎"]
|
|
Packit |
0986c0 |
array Longitude[13] = [267., 300., 328., 352., 29., 53., 90., 118., 138., 174., 218., 241., 248.]
|
|
Packit |
0986c0 |
do for [i=1:13] {
|
|
Packit |
0986c0 |
set label i Zodiac[i] at polar Longitude[i], 1.1, 0 center font ",15"
|
|
Packit |
0986c0 |
set obj i circle at polar Longitude[i], 1.1, 0 radius char 1.5
|
|
Packit |
0986c0 |
set obj i fs solid fc rgb hsv2rgb( Longitude[i]/360., 0.5, 1.0)
|
|
Packit |
0986c0 |
}
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
# plot sampled parametric circles
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
splot sample [u=0:360] '+' using (cos(u)):(0):(sin(u)) lw 2, \
|
|
Packit |
0986c0 |
[u=0:360] '+' using (cos(u)):(sin(u)):(0) lw 2, \
|
|
Packit |
0986c0 |
[u=0:360] '+' using (0):(cos(u)):(sin(u)) lw 2
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set encoding save_encoding
|
|
Packit |
0986c0 |
reset
|