123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- % PR-DEMO.SL: A small 3D Picture RLISP demo file, using LISP syntax
- % Is equivalent to the PR-DEMO.RED form in RLISP syntax
- % Use (LAPIN "PU:PR-DEMO.SL") for best effects
- (LOAD PRLISP)
- % First call the xxx!.INIT routine,
- (HP!.INIT) % For HP2648a
- % Define a 20 x 20 square
- (SETQ OUTLINE
- (POINTSET (ONEPOINT 10 10)
- (ONEPOINT -10 10)
- (ONEPOINT -10 -10)
- (ONEPOINT 10 -10)
- (ONEPOINT 10 10)))
- % and an Arrow to place in square
- (SETQ ARROW
- (GROUP (POINTSET (ONEPOINT 0 -1) (ONEPOINT 0 2))
- (POINTSET (ONEPOINT -1 1) (ONEPOINT 0 2) (ONEPOINT 1 1))))
- % to produce the CubeFace. Will be shifted out by 10 units
- (SETQ CUBEFACE (TRANSFORM (GROUP OUTLINE ARROW) (ZMOVE 10)))
- % to produce a 20 x 20 x 20 Cube
- (SETQ CUBE
- (GROUP CUBEFACE
- (TRANSFORM CUBEFACE (XROT 180))
- (TRANSFORM CUBEFACE (YROT 90))
- (TRANSFORM CUBEFACE (YROT -90))
- (TRANSFORM CUBEFACE (XROT 90))
- (TRANSFORM CUBEFACE (XROT -90))))
- % This is a bigger cube to be seen more clearly
- (SETQ BIGCUBE (TRANSFORM CUBE (SCALE 5)))
- % as can be seen
- (ESHOW BIGCUBE)
- % Some more views of the CUBE
- (ESHOW
- (TRANSFORM (TRANSFORM (TRANSFORM BIGCUBE (XROT 20)) (YROT 30)) (ZROT 10)))
- (ESHOW
- (TRANSFORM (TRANSFORM (TRANSFORM CUBE (SCALE 2)) (XMOVE -240))
- (REPEATED 5 (XMOVE 80))))
- % Draw a circle
- (ESHOW (TRANSFORM (ONEPOINT 10 10) (CIRCLE 70)))
- % and another
- (SHOW (TRANSFORM (TRANSFORM (ONEPOINT 10 10) (CIRCLE 50))
- (XMOVE 20)))
- % Define Some control points for Bspline and Bezier
- (SETQ CPTS
- (POINTSET (ONEPOINT 0 0)
- (ONEPOINT 70 -60)
- (ONEPOINT 189 -69)
- (ONEPOINT 206 33)
- (ONEPOINT 145 130)
- (ONEPOINT 48 130)
- (ONEPOINT 0 84)))
- % And show the BSPLINE and BEZIER curves
- (ESHOW (GROUP CPTS (TRANSFORM CPTS (BEZIER))))
- (ESHOW (GROUP CPTS (TRANSFORM CPTS (BSPLINE))))
|