📄 jaws4.f
字号:
$alias fdopen='fdopen'(%val,%ref) include 'phigs.f1.h' ! get the HP-PHIGS aliases program jaws4 ! file "jaws4.f" include 'phigs.f2.h' ! get the HP-PHIGS constants integer*4 WorkstnID ! workstation identifier parameter (WorkstnID=1) ! value chosen by the user integer*4 ConnID ! connection identifier integer*4 WorkstnType ! workstation type parameter (WorkstnType=POIDDX) ! out/in, direct, dbl bfr, X real CtrlPts1X(6), CtrlPts1Y(6) ! control points for curve 1 data CtrlPts1X /.1, .7, .9, .9, .7, .6/ data CtrlPts1Y /.1, .1, .1, .3, .3, .3/ real KnotVector1(9) ! knot vector for curve 1 data KnotVector1 /0., 0., 0., 1., 2., 3., 4., 4., 4./ real CtrlPts2X(3), CtrlPts2Y(3) ! control points for curve 2 data CtrlPts2X /.6, .55,.5/ data CtrlPts2Y /.3, .25,.2/ real KnotVector2(6) ! knot vector for curve 2 data KnotVector2 /0., 0., 0., 1., 1., 1./ real CtrlPts3X(4), CtrlPts3Y(4) ! control points for curve 3 data CtrlPts3X /.5, .2, .12,.1/ data CtrlPts3Y /.2, .2, .2, .3/ real KnotVector3(7) ! knot vector for curve 3 data KnotVector3 /0., 0., 0., 1., 2., 2., 2./ real CtrlPts4X(3), CtrlPts4Y(3) ! control points for curve 4 data CtrlPts4X /.1, .07,.1/ data CtrlPts4Y /.3, .2, .1/ real KnotVector4(6) ! knot vector for curve 4 data KnotVector4 /0., 0., 0., 1., 1., 1./ real CtrlPtsZ(6), CtrlPtsW(6) data CtrlPtsZ /0., 0., 0., 0., 0., 0./ data CtrlPtsW /0., 0., 0., 0., 0., 0./ real ParmRange(2) ! limits of parameter range integer*4 fdopen ! to get file descriptor call popph(fdopen(fnum(7), 'w'//char(0)), 0) ! open phigs call pue004('/dev/screen/phigs_window', ConnID) ! get connection ID call popwk(WorkstnID, ConnID, WorkstnType)! open workstation call popst(1) ! open display list structure call psmk(PAST) ! set marker type to asterisk call psmksc(4.0) ! set marker scale factor !--- draw curve 1 ------------------------------------------------------ call psln(PLDASH) ! set line type: dashed ParmRange(1)=0.0 ParmRange(2)=4.0 call pbsc3(3, 9, KnotVector1, ParmRange, ! non-uniform b-spline curve + PNRAT, 6, CtrlPts1X, CtrlPts1Y, CtrlPtsZ, CtrlPtsW) !--- draw curve 2 ------------------------------------------------------ ParmRange(2)=1.0 call pbsc3(3, 6, KnotVector2, ParmRange, ! non-uniform b-spline curve + PNRAT, 3, CtrlPts2X, CtrlPts2Y, CtrlPtsZ, CtrlPtsW) !--- draw curve 3 ------------------------------------------------------ ParmRange(2)=2.0 call pbsc3(3, 7, KnotVector3, ParmRange, ! non-uniform b-spline curve + PNRAT, 4, CtrlPts3X, CtrlPts3Y, CtrlPtsZ, CtrlPtsW) !--- draw curve 4 ------------------------------------------------------ call psln(PLSOLI) ! set line type: solid call ppm(3, CtrlPts4X, CtrlPts4Y) ! polymarker ParmRange(2)=1.0 call pbsc3(3, 6, KnotVector4, ParmRange, ! non-uniform b-spline curve + PNRAT, 3, CtrlPts4X, CtrlPts4Y, CtrlPtsZ, CtrlPtsW) call pclst ! close display list structure call ppost(WorkstnID, 1, 1.) ! send picture to display call pclwk(WorkstnID) ! close workstation call pclph ! close phigs stop ! stop processing end ! end of program
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -