This repository has been archived by the owner on Dec 12, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathplot.lisp
executable file
·61 lines (47 loc) · 2.64 KB
/
plot.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
(in-package #:weir-tests)
(defun %main-plot ()
(let ((p (list (vec:vec 100d0 100d0) (vec:vec 200d0 100d0)
(vec:vec 200d0 200d0)))
(psvg (draw-svg:make*)))
(draw-svg:show-boundary psvg)
(draw-svg:show-crop psvg :len 20d0)
(draw-svg:path psvg p)
(draw-svg:path psvg (vec:ladd* p (vec:vec 200d0 0d0)) :closed t)
(draw-svg:path psvg (vec:ladd* p (vec:vec 400d0 0d0)) :closed t :sw 10d0)
(draw-svg:path psvg (vec:ladd* p (vec:vec 600d0 0d0))
:closed t :fill "black")
(draw-svg:bzspl psvg (vec:ladd* p (vec:vec 0d0 200d0)))
(draw-svg:bzspl psvg (vec:ladd* p (vec:vec 200d0 200d0)) :closed t)
(draw-svg:bzspl psvg (vec:ladd* p (vec:vec 400d0 200d0)) :closed t :sw 10d0)
(draw-svg:bzspl psvg (vec:ladd* p (vec:vec 600d0 200d0)) :closed t
:fill "black")
(draw-svg:circ psvg (vec:vec 100d0 500d0) 20d0)
(draw-svg:circ psvg (vec:vec 200d0 500d0) 20d0 :sw 10d0)
(draw-svg:circ psvg (vec:vec 300d0 500d0) 20d0 :sw 10d0 :fill "black")
(draw-svg:circ psvg (vec:vec 400d0 500d0) 20d0 :aspath t)
(draw-svg:carc psvg (vec:vec 500d0 500d0) 20d0 0d0 PI5 :sw 2d0)
(draw-svg:circ psvg (vec:vec 500d0 500d0) 15d0)
(draw-svg:carc psvg (vec:vec 560d0 500d0) 20d0 0d0 4d0 :sw 3d0)
(draw-svg:circ psvg (vec:vec 560d0 500d0) 15d0)
(draw-svg:carc psvg (vec:vec 620d0 500d0) 20d0 0.5d0 1d0 :sw 4d0)
(draw-svg:circ psvg (vec:vec 620d0 500d0) 15d0)
(draw-svg:carc psvg (vec:vec 700d0 500d0) 20d0 3.4d0 5d0 :sw 5d0)
(draw-svg:circ psvg (vec:vec 700d0 500d0) 15d0)
(draw-svg:wcirc psvg (vec:vec 800d0 500d0) 15d0 :rs 0.7d0)
(draw-svg:wcirc psvg (vec:vec 850d0 500d0) 15d0 :outer-rad 20d0 :rs 0.7d0)
(draw-svg:wpath psvg (vec:ladd* p (vec:vec 0d0 600d0)) :width 10d0 :rs 0.5d0)
(draw-svg:wpath psvg (vec:ladd* p (vec:vec 200d0 600d0)) :width 10d0 :rs 0.5d0
:cap nil)
(draw-svg:wpath psvg (vec:ladd* p (vec:vec 400d0 600d0)) :width 10d0 :rs 0.5d0
:cap nil
:opposite nil)
;(draw-svg:compound psvg (list (list :path (list (vec:vec 700d0 700d0)
; (vec:vec 720d0 730d0)
; (vec:vec 730d0 710d0)))
; (list :bzspl (list (vec:vec 700d0 700d0)
; (vec:vec 720d0 730d0)
; (vec:vec 730d0 710d0)))))
(draw-svg:save psvg (weir-utils:internal-path-string
"test/data/plot"))))
(define-file-tests test-plot ()
(time (%main-plot)))