# # kihonc.rb # $Id: kihonc.rb,v 1.2 2000/11/18 19:03:34 keiko Exp $ # require "narray" require "numru/dcl" include NumRu include Math #-- graph --- iws = (ARGV[0] || (puts ' WORKSTATION ID (I) ? ;'; DCL::sgpwsn; gets)).to_i DCL::sgopn iws DCL::sgfrm DCL::sgswnd(0.0, 10.0, 0.0, 10.0) DCL::sgsvpt(0.0, 1.0, 0.0, 1.0) DCL::sgstrn(1) DCL::sgstrf #-- デフォルト ---- y1 = 9.0 for i in 1..8 x1 = i x2 = x1 + 0.1*i y2 = y1 + 0.1*i DCL::sglau(x1, y1, x2, y2) end #-- 線分のラインタイプ ---- y1 = 8.0 y2 = 8.6 for i in 1..4 x1 = 2*i - 1 x2 = x1 + 0.6 DCL::sgslat(i) DCL::sglau(x1, y1, x2, y2) end DCL::sgslat(1) #-- 線分のラインインデクス ---- y1 = 7.0 y2 = 7.6 for i in 1..4 x1 = 2*i x2 = x1 + 0.6 DCL::sgslai(i) DCL::sglau(x1, y1, x2, y2) end DCL::sgslai(1) #-- 矢じり部分の長さ ---- DCL::sglset('LPROP', false) DCL::sgrset('CONST', 0.03) y1 = 6.0 for i in 1..8 x1 = i x2 = x1 + 0.1*i y2 = y1 + 0.1*i DCL::sglau(x1, y1, x2, y2) end DCL::sglset('LPROP', true) #-- 矢じり部分の角度 ---- y1 = 5.0 y2 = 5.6 for i in 1..8 x1 = i x2 = x1 + 0.6 DCL::sgrset('ANGLE', 10.0*i) DCL::sglau(x1, y1, x2, y2) end #-- 矢じり部分のぬりつぶし ---- DCL::sglset('LSOFTF', true) DCL::sglset('LATONE', true) DCL::sgiset('IATONE', 655) y1 = 4.0 y2 = 4.6 for i in 1..8 x1 = i x2 = x1 + 0.6 DCL::sgrset('ANGLE', 10.0*i) DCL::sglau(x1, y1, x2, y2) end #-- ラインサブプリミティブ ---- #-- デフォルト ---- DCL::sglnu(0.0, 3.0, 10.0, 3.0) #-- 線分のラインインデクス ---- y1 = 0.5 y2 = 2.5 for i in 1..4 x1 = 2*i - 1 x2 = x1 + 2.0 DCL::sgslni(i) DCL::sglnu(x1, y1, x2, y2) end DCL::sgcls