geometrix 0.5.10 → 0.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/index.d.ts +505 -0
  2. package/dist/index.js +3848 -0
  3. package/dist/index.js.map +1 -0
  4. package/package.json +6 -1
  5. package/.eslintignore +0 -17
  6. package/.eslintrc.cjs +0 -24
  7. package/.prettierignore +0 -15
  8. package/.prettierrc +0 -8
  9. package/src/aaExportContent.ts +0 -213
  10. package/src/aaExportFile.ts +0 -141
  11. package/src/aaParamGeom.ts +0 -62
  12. package/src/angle_utils.test.ts +0 -83
  13. package/src/angle_utils.ts +0 -98
  14. package/src/arc_to_stroke.ts +0 -73
  15. package/src/canvas_utils.test.ts +0 -28
  16. package/src/canvas_utils.ts +0 -159
  17. package/src/contour.test.ts +0 -37
  18. package/src/contour.ts +0 -806
  19. package/src/designParams.ts +0 -178
  20. package/src/figure.test.ts +0 -21
  21. package/src/figure.ts +0 -400
  22. package/src/index.ts +0 -16
  23. package/src/line.test.ts +0 -78
  24. package/src/line.ts +0 -359
  25. package/src/paramFile.ts +0 -52
  26. package/src/point.test.ts +0 -36
  27. package/src/point.ts +0 -246
  28. package/src/prepare_pax.ts +0 -102
  29. package/src/segment.test.ts +0 -26
  30. package/src/segment.ts +0 -701
  31. package/src/sub_design.ts +0 -16
  32. package/src/triangle_utils.test.ts +0 -38
  33. package/src/triangle_utils.ts +0 -112
  34. package/src/vector.test.ts +0 -28
  35. package/src/vector.ts +0 -122
  36. package/src/volume.ts +0 -50
  37. package/src/write_dxf.ts +0 -100
  38. package/src/write_openjscad.ts +0 -284
  39. package/src/write_openscad.ts +0 -305
  40. package/src/write_pax.ts +0 -73
  41. package/src/write_svg.ts +0 -101
  42. package/svg/any_triangle.svg +0 -156
  43. package/svg/arc_definition.svg +0 -506
  44. package/svg/construct_corner_rounded_ext_arc_ext_arc.svg +0 -378
  45. package/svg/construct_corner_rounded_int_arc_ext_arc.svg +0 -359
  46. package/svg/construct_corner_rounded_int_arc_int_arc.svg +0 -356
  47. package/svg/construct_corner_rounded_stroke_ext_arc.svg +0 -374
  48. package/svg/construct_corner_rounded_stroke_ext_arc_obtuse.svg +0 -370
  49. package/svg/construct_corner_rounded_stroke_ext_arc_obtuse_method2.svg +0 -311
  50. package/svg/construct_corner_rounded_stroke_int_arc.svg +0 -364
  51. package/svg/construct_corner_rounded_stroke_int_arc_obtuse.svg +0 -358
  52. package/svg/construct_corner_rounded_stroke_int_arc_obtuse_method2.svg +0 -237
  53. package/svg/construct_corner_rounded_stroke_stroke.svg +0 -280
  54. package/svg/construct_corner_wideacc.svg +0 -286
  55. package/svg/construct_corner_widened.svg +0 -278
  56. package/svg/construction_of_line_intersection_1.svg +0 -187
  57. package/svg/construction_of_line_intersection_2.svg +0 -189
  58. package/svg/contour_arc_definition_options.svg +0 -324
  59. package/svg/contour_point_absolute_relative.svg +0 -258
  60. package/svg/contour_tangential_two_arcs.svg +0 -531
  61. package/svg/contour_tangential_two_arcs_impossible_case.svg +0 -175
  62. package/svg/contour_tangential_two_arcs_requirements.svg +0 -364
  63. package/svg/corner_rounded_ext_arc_ext_arc.svg +0 -281
  64. package/svg/corner_rounded_int_arc_ext_arc.svg +0 -281
  65. package/svg/corner_rounded_int_arc_int_arc.svg +0 -279
  66. package/svg/corner_rounded_stroke_ext_arc.svg +0 -218
  67. package/svg/corner_rounded_stroke_int_arc.svg +0 -225
  68. package/svg/corner_rounded_stroke_stroke.svg +0 -174
  69. package/svg/geom_dev.svg +0 -14708
  70. package/svg/geom_modules.svg +0 -246
  71. package/svg/geom_user.svg +0 -58
  72. package/svg/line_axis_x_cases.svg +0 -1408
  73. package/svg/line_axis_y_cases.svg +0 -1369
  74. package/svg/line_distanceOrig.svg +0 -318
  75. package/svg/line_getAxisXIntersection.svg +0 -262
  76. package/svg/line_getAxisXIntersection_2.svg +0 -244
  77. package/svg/line_getAxisYIntersection.svg +0 -304
  78. package/svg/line_getAxisYIntersection_2.svg +0 -285
  79. package/svg/line_getAxisYIntersection_3.svg +0 -277
  80. package/svg/line_intersection.svg +0 -346
  81. package/svg/line_projectPoint.svg +0 -311
  82. package/svg/point_1.svg +0 -243
  83. package/svg/point_2.svg +0 -409
  84. package/svg/point_3.svg +0 -298
  85. package/svg/point_4.svg +0 -272
  86. package/svg/point_5.svg +0 -356
  87. package/svg/right_triangle.svg +0 -194
  88. package/svg/vector_definition.svg +0 -130
  89. package/tsconfig.json +0 -13
  90. package/vitest.config.ts +0 -7
@@ -1,346 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- width="262.01425"
6
- height="195.65192"
7
- viewBox="0 0 69.324604 51.766236"
8
- version="1.1"
9
- id="svg5"
10
- inkscape:version="1.2.2 (1:1.2.2+202212051552+b0a8486541)"
11
- sodipodi:docname="geom.svg"
12
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
14
- xmlns="http://www.w3.org/2000/svg"
15
- xmlns:svg="http://www.w3.org/2000/svg">
16
- <sodipodi:namedview
17
- id="namedview7"
18
- pagecolor="#ffffff"
19
- bordercolor="#666666"
20
- borderopacity="1.0"
21
- inkscape:showpageshadow="2"
22
- inkscape:pageopacity="0.0"
23
- inkscape:pagecheckerboard="0"
24
- inkscape:deskcolor="#d1d1d1"
25
- inkscape:document-units="px"
26
- showgrid="false"
27
- inkscape:zoom="1.6819304"
28
- inkscape:cx="495.85881"
29
- inkscape:cy="680.46811"
30
- inkscape:window-width="1366"
31
- inkscape:window-height="836"
32
- inkscape:window-x="0"
33
- inkscape:window-y="0"
34
- inkscape:window-maximized="1"
35
- inkscape:current-layer="layer1"
36
- showguides="false" />
37
- <defs
38
- id="defs2">
39
- <rect
40
- x="443.12601"
41
- y="4813.8301"
42
- width="128.13589"
43
- height="26.062372"
44
- id="rect2101" />
45
- <marker
46
- style="overflow:visible"
47
- id="Arrow1L-4-3-36-3"
48
- refX="0"
49
- refY="0"
50
- orient="auto-start-reverse"
51
- inkscape:stockid="Arrow1L"
52
- markerWidth="8.75"
53
- markerHeight="5"
54
- viewBox="0 0 8.75 5"
55
- inkscape:isstock="true"
56
- inkscape:collect="always"
57
- preserveAspectRatio="xMidYMid">
58
- <path
59
- style="fill:context-stroke;fill-rule:evenodd;stroke:none"
60
- d="M 0,0 5,-5 -12.5,0 5,5 Z"
61
- id="arrow1L-9-6-7-6"
62
- transform="scale(-0.5)" />
63
- </marker>
64
- <marker
65
- style="overflow:visible"
66
- id="Arrow1L-3-5-7-5-7"
67
- refX="0"
68
- refY="0"
69
- orient="auto-start-reverse"
70
- inkscape:stockid="Arrow1L"
71
- markerWidth="8.75"
72
- markerHeight="5"
73
- viewBox="0 0 8.75 5"
74
- inkscape:isstock="true"
75
- inkscape:collect="always"
76
- preserveAspectRatio="xMidYMid">
77
- <path
78
- style="fill:context-stroke;fill-rule:evenodd;stroke:none"
79
- d="M 0,0 5,-5 -12.5,0 5,5 Z"
80
- id="arrow1L-6-0-5-3-5"
81
- transform="scale(-0.5)" />
82
- </marker>
83
- <rect
84
- x="254.32079"
85
- y="237.99036"
86
- width="38.556549"
87
- height="34.914055"
88
- id="rect1269-4-3-5-3" />
89
- <rect
90
- x="130.98518"
91
- y="140.53645"
92
- width="42.711418"
93
- height="43.171246"
94
- id="rect1287-8-5-6-5" />
95
- <rect
96
- x="232.47569"
97
- y="161.36501"
98
- width="28.095083"
99
- height="22.501993"
100
- id="rect1388-7-62-2-6" />
101
- <rect
102
- x="200.71475"
103
- y="288.1904"
104
- width="52.316872"
105
- height="19.744669"
106
- id="rect1406-17-9-9-2" />
107
- <rect
108
- x="200.71475"
109
- y="288.1904"
110
- width="52.316872"
111
- height="19.744669"
112
- id="rect1406-3-2-1-1-9" />
113
- <rect
114
- x="63.429256"
115
- y="333.06458"
116
- width="256.25549"
117
- height="34.363419"
118
- id="rect3974-2-2-2-1" />
119
- <rect
120
- x="309.29074"
121
- y="1871.7849"
122
- width="43.699223"
123
- height="17.924244"
124
- id="rect1180-7-2" />
125
- <rect
126
- x="275.2464"
127
- y="4415.9102"
128
- width="32.129192"
129
- height="22.036854"
130
- id="rect1975-9" />
131
- <rect
132
- x="232.47569"
133
- y="161.36501"
134
- width="28.095083"
135
- height="22.501993"
136
- id="rect1388-7-62-2-7-3" />
137
- <rect
138
- x="309.29074"
139
- y="1871.7849"
140
- width="43.699223"
141
- height="17.924244"
142
- id="rect1180-7-2-0" />
143
- <rect
144
- x="443.12601"
145
- y="4813.8301"
146
- width="128.13589"
147
- height="26.062372"
148
- id="rect2101-0" />
149
- </defs>
150
- <g
151
- inkscape:label="Layer 1"
152
- inkscape:groupmode="layer"
153
- id="layer1"
154
- transform="translate(-38.907146,-1230.1906)">
155
- <rect
156
- style="fill:#ffffff;stroke:#ffffff;stroke-width:0.264583;stroke-dasharray:none;stroke-dashoffset:0"
157
- id="rect3918-61-0-0-0"
158
- width="69.06002"
159
- height="51.501595"
160
- x="39.039436"
161
- y="1230.3229"
162
- inkscape:export-filename="line_projectPoint.svg"
163
- inkscape:export-xdpi="96"
164
- inkscape:export-ydpi="96" />
165
- <path
166
- style="fill:none;stroke:#d4aa00;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
167
- d="m 77.785156,1238.0751 8.793849,36.0688"
168
- id="path1069-2-9-5-1"
169
- sodipodi:nodetypes="cc"
170
- inkscape:transform-center-x="2.4260607"
171
- inkscape:transform-center-y="-10.3022" />
172
- <path
173
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
174
- d="m 72.382717,1251.9348 h 6.68089"
175
- id="path1174-6-2" />
176
- <path
177
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1L-4-3-36-3)"
178
- d="m 62.865209,1274.7879 v -40.2163"
179
- id="path196-0-6-1-6" />
180
- <path
181
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1L-3-5-7-5-7)"
182
- d="M 41.533392,1268.877 H 99.34809"
183
- id="path196-7-61-2-8-1" />
184
- <text
185
- xml:space="preserve"
186
- transform="matrix(0.26458333,0,0,0.26458333,32.40799,1205.6609)"
187
- id="text1267-5-6-7-8"
188
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1269-4-3-5-3);display:inline"><tspan
189
- x="254.32031"
190
- y="250.96683"
191
- id="tspan4934">x</tspan></text>
192
- <text
193
- xml:space="preserve"
194
- transform="matrix(0.26458333,0,0,0.26458333,25.539378,1194.346)"
195
- id="text1285-9-1-9-7"
196
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1287-8-5-6-5);display:inline"><tspan
197
- x="130.98438"
198
- y="153.5137"
199
- id="tspan4936">y</tspan></text>
200
- <path
201
- style="fill:none;stroke:#cccccc;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1"
202
- d="m 72.382718,1268.877 v -16.9422 H 62.86521"
203
- id="path1384-4-8-2-9" />
204
- <text
205
- xml:space="preserve"
206
- transform="matrix(0.26458333,0,0,0.26458333,4.2145312,1206.7013)"
207
- id="text1386-1-7-0-2"
208
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1388-7-62-2-6);display:inline"><tspan
209
- x="232.47656"
210
- y="174.34183"
211
- id="tspan4938">p1</tspan></text>
212
- <text
213
- xml:space="preserve"
214
- transform="matrix(0.26458333,0,0,0.26458333,16.795013,1193.5882)"
215
- id="text1404-7-9-2-0"
216
- style="font-size:8px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1406-17-9-9-2);display:inline"><tspan
217
- x="200.71484"
218
- y="295.26758"
219
- id="tspan4940">p1.cx</tspan></text>
220
- <text
221
- xml:space="preserve"
222
- transform="matrix(0.26458333,0,0,0.26458333,2.4622012,1174.6632)"
223
- id="text1404-5-71-2-3-2"
224
- style="font-size:8px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1406-3-2-1-1-9);display:inline"><tspan
225
- x="200.71484"
226
- y="295.26758"
227
- id="tspan4942">p1.cy</tspan></text>
228
- <path
229
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
230
- d="m 62.106554,1251.9348 h 1.517311"
231
- id="path1476-1-0-7-3" />
232
- <path
233
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
234
- d="m 72.382718,1269.8016 v -1.8492"
235
- id="path1478-5-2-5-7" />
236
- <text
237
- xml:space="preserve"
238
- transform="matrix(0.26458333,0,0,0.26458333,23.033218,1188.4523)"
239
- id="text3972-73-3-9-5"
240
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3974-2-2-2-1);display:inline"><tspan
241
- x="63.429688"
242
- y="346.04105"
243
- id="tspan4944">line intersection and bisector</tspan></text>
244
- <path
245
- style="fill:none;stroke:#008000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
246
- d="m 72.38272,1251.9348 20.4596,22.8531"
247
- id="path1069-2-9"
248
- sodipodi:nodetypes="cc" />
249
- <path
250
- style="fill:none;stroke:#008000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
251
- d="m 55.633214,1233.2218 16.749504,18.713"
252
- id="path1069-4-28-2"
253
- sodipodi:nodetypes="cc" />
254
- <path
255
- style="fill:none;stroke:#0000ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
256
- d="m 71.368685,1250.5211 c 0,0 1.670056,-0.5952 2.320936,-0.1731 0.429768,0.2787 0.520551,1.4459 0.520551,1.4459"
257
- id="path1176-7-8"
258
- sodipodi:nodetypes="cac" />
259
- <text
260
- xml:space="preserve"
261
- transform="matrix(0.26458333,0,0,0.26458333,-7.2904197,753.90607)"
262
- id="text1178-3-9"
263
- style="font-size:8px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1180-7-2);display:inline;fill:#0000ff"><tspan
264
- x="309.29102"
265
- y="1878.8633"
266
- id="tspan4946">ca1</tspan></text>
267
- <path
268
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
269
- d="m 71.794806,1252.6797 1.175826,-1.4899"
270
- id="path1355-9-3-9-6" />
271
- <path
272
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
273
- d="m 71.637804,1251.3468 1.489829,1.1759"
274
- id="path1355-5-09-61-3-1" />
275
- <path
276
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
277
- d="m 81.383562,1272.1111 h 6.68089"
278
- id="path1174-6-3-1" />
279
- <text
280
- xml:space="preserve"
281
- transform="matrix(0.26458333,0,0,0.26458333,-14.91981,70.592224)"
282
- id="text1973-9"
283
- style="font-size:10.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1975-9);display:inline;fill:#008000"><tspan
284
- x="275.24609"
285
- y="4425.3477"
286
- id="tspan4948">l1</tspan></text>
287
- <path
288
- style="fill:none;stroke:#008000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
289
- d="m 98.597551,1235.1634 -18.066736,38.4038"
290
- id="path1069-2-9-5"
291
- sodipodi:nodetypes="cc" />
292
- <path
293
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
294
- d="m 80.691253,1272.9804 1.17583,-1.4899"
295
- id="path1355-9-3-9-5-9" />
296
- <path
297
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
298
- d="m 80.534253,1271.6475 1.48983,1.1759"
299
- id="path1355-5-09-61-3-0-3" />
300
- <text
301
- xml:space="preserve"
302
- transform="matrix(0.26458333,0,0,0.26458333,14.1526,1228.8061)"
303
- id="text1386-1-7-0-4-4"
304
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1388-7-62-2-7-3);display:inline"><tspan
305
- x="232.47656"
306
- y="174.34183"
307
- id="tspan4950">p3</tspan></text>
308
- <path
309
- style="fill:none;stroke:#0000ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
310
- d="m 81.773219,1270.8209 c 0,0 0.90984,-0.065 1.20118,0.2193 0.25678,0.2504 0.21942,1.0535 0.21942,1.0535"
311
- id="path1176-7-8-3"
312
- sodipodi:nodetypes="cac" />
313
- <text
314
- xml:space="preserve"
315
- transform="matrix(0.26458333,0,0,0.26458333,1.6634635,774.2059)"
316
- id="text1178-3-9-6"
317
- style="font-size:8px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1180-7-2-0);display:inline;fill:#0000ff"><tspan
318
- x="309.29102"
319
- y="1878.8633"
320
- id="tspan4952">ca2</tspan></text>
321
- <path
322
- style="fill:none;stroke:#ff6600;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
323
- d="m 83.683986,1266.0695 1.17583,-1.4899"
324
- id="path1355-9-3-9-5-6-7" />
325
- <path
326
- style="fill:none;stroke:#ff6600;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
327
- d="m 83.526986,1264.7366 1.48983,1.1759"
328
- id="path1355-5-09-61-3-0-1-8" />
329
- <text
330
- xml:space="preserve"
331
- transform="matrix(0.26458333,0,0,0.26458333,-49.365653,-39.783755)"
332
- id="text2099-6"
333
- style="font-size:12px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2101-0);display:inline;fill:#d4aa00"><tspan
334
- x="443.12695"
335
- y="4824.4473"
336
- id="tspan4954">p1.bisector(p2)</tspan></text>
337
- <text
338
- xml:space="preserve"
339
- transform="matrix(0.26458333,0,0,0.26458333,-64.343069,-9.9633078)"
340
- id="text2099"
341
- style="font-size:12px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2101);fill:#ff6600"><tspan
342
- x="443.12695"
343
- y="4824.4473"
344
- id="tspan4956">p1.intersection(p2)</tspan></text>
345
- </g>
346
- </svg>
@@ -1,311 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- width="262.01425"
6
- height="195.65192"
7
- viewBox="0 0 69.324604 51.766236"
8
- version="1.1"
9
- id="svg5"
10
- xmlns="http://www.w3.org/2000/svg"
11
- xmlns:svg="http://www.w3.org/2000/svg">
12
- <defs
13
- id="defs2">
14
- <rect
15
- x="275.2464"
16
- y="4415.9102"
17
- width="32.129192"
18
- height="22.036854"
19
- id="rect1975" />
20
- <marker
21
- style="overflow:visible"
22
- id="Arrow1L-4-3-36"
23
- refX="0"
24
- refY="0"
25
- orient="auto-start-reverse"
26
- markerWidth="8.75"
27
- markerHeight="5"
28
- viewBox="0 0 8.75 5"
29
- preserveAspectRatio="xMidYMid">
30
- <path
31
- style="fill:context-stroke;fill-rule:evenodd;stroke:none"
32
- d="M 0,0 5,-5 -12.5,0 5,5 Z"
33
- id="arrow1L-9-6-7"
34
- transform="scale(-0.5)" />
35
- </marker>
36
- <marker
37
- style="overflow:visible"
38
- id="Arrow1L-3-5-7-5"
39
- refX="0"
40
- refY="0"
41
- orient="auto-start-reverse"
42
- markerWidth="8.75"
43
- markerHeight="5"
44
- viewBox="0 0 8.75 5"
45
- preserveAspectRatio="xMidYMid">
46
- <path
47
- style="fill:context-stroke;fill-rule:evenodd;stroke:none"
48
- d="M 0,0 5,-5 -12.5,0 5,5 Z"
49
- id="arrow1L-6-0-5-3"
50
- transform="scale(-0.5)" />
51
- </marker>
52
- <rect
53
- x="254.32079"
54
- y="237.99036"
55
- width="38.556549"
56
- height="34.914055"
57
- id="rect1269-4-3-5" />
58
- <rect
59
- x="130.98518"
60
- y="140.53645"
61
- width="42.711418"
62
- height="43.171246"
63
- id="rect1287-8-5-6" />
64
- <rect
65
- x="232.47569"
66
- y="161.36501"
67
- width="28.095083"
68
- height="22.501993"
69
- id="rect1388-7-62-2" />
70
- <rect
71
- x="200.71475"
72
- y="288.1904"
73
- width="52.316872"
74
- height="19.744669"
75
- id="rect1406-17-9-9" />
76
- <rect
77
- x="200.71475"
78
- y="288.1904"
79
- width="52.316872"
80
- height="19.744669"
81
- id="rect1406-3-2-1-1" />
82
- <rect
83
- x="63.429256"
84
- y="333.06458"
85
- width="158.36295"
86
- height="29.330603"
87
- id="rect3974-2-2-2" />
88
- <rect
89
- x="309.29074"
90
- y="1871.7849"
91
- width="43.699223"
92
- height="17.924244"
93
- id="rect1180-7" />
94
- <rect
95
- x="323.20462"
96
- y="1880.8066"
97
- width="96.883469"
98
- height="24.848818"
99
- id="rect1213-0" />
100
- <rect
101
- x="323.20462"
102
- y="1880.8066"
103
- width="75.478333"
104
- height="20.091217"
105
- id="rect1213-5-9" />
106
- <rect
107
- x="232.47569"
108
- y="161.36501"
109
- width="28.095083"
110
- height="22.501993"
111
- id="rect1388-7-62-2-7" />
112
- <rect
113
- x="232.47569"
114
- y="161.36501"
115
- width="78.629929"
116
- height="35.439369"
117
- id="rect1388-7-62-2-7-6" />
118
- </defs>
119
- <g
120
- id="layer1"
121
- transform="translate(-39.430389,-1158.9707)">
122
- <rect
123
- style="fill:#ffffff;stroke:#ffffff;stroke-width:0.264583;stroke-dasharray:none;stroke-dashoffset:0"
124
- id="rect3918-61-0-0"
125
- width="69.06002"
126
- height="51.501595"
127
- x="39.562679"
128
- y="1159.103" />
129
- <path
130
- style="fill:none;stroke:#ff6600;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
131
- d="m 82.151482,1188.3685 -1.1697,-1.3388 -1.2395,1.2396"
132
- id="path1172-6" />
133
- <path
134
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
135
- d="m 72.905959,1180.7149 h 6.68089"
136
- id="path1174-6" />
137
- <path
138
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1L-4-3-36)"
139
- d="m 63.388451,1203.568 v -40.2163"
140
- id="path196-0-6-1" />
141
- <path
142
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1L-3-5-7-5)"
143
- d="M 42.056634,1197.6571 H 99.871328"
144
- id="path196-7-61-2-8" />
145
- <text
146
- xml:space="preserve"
147
- transform="matrix(0.26458333,0,0,0.26458333,32.931232,1134.441)"
148
- id="text1267-5-6-7"
149
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1269-4-3-5);display:inline"><tspan
150
- x="254.32031"
151
- y="250.96683"
152
- id="tspan8156">x</tspan></text>
153
- <text
154
- xml:space="preserve"
155
- transform="matrix(0.26458333,0,0,0.26458333,26.06262,1123.1261)"
156
- id="text1285-9-1-9"
157
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1287-8-5-6);display:inline"><tspan
158
- x="130.98438"
159
- y="153.5137"
160
- id="tspan8158">y</tspan></text>
161
- <path
162
- style="fill:none;stroke:#cccccc;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1"
163
- d="m 72.90596,1197.6571 v -16.9422 h -9.517508"
164
- id="path1384-4-8-2" />
165
- <text
166
- xml:space="preserve"
167
- transform="matrix(0.26458333,0,0,0.26458333,4.7377729,1135.4814)"
168
- id="text1386-1-7-0"
169
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1388-7-62-2);display:inline"><tspan
170
- x="232.47656"
171
- y="174.34183"
172
- id="tspan8160">p1</tspan></text>
173
- <text
174
- xml:space="preserve"
175
- transform="matrix(0.26458333,0,0,0.26458333,17.318255,1122.3683)"
176
- id="text1404-7-9-2"
177
- style="font-size:8px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1406-17-9-9);display:inline"><tspan
178
- x="200.71484"
179
- y="295.26758"
180
- id="tspan8162">p1.cx</tspan></text>
181
- <text
182
- xml:space="preserve"
183
- transform="matrix(0.26458333,0,0,0.26458333,2.9854428,1103.4433)"
184
- id="text1404-5-71-2-3"
185
- style="font-size:8px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1406-3-2-1-1);display:inline"><tspan
186
- x="200.71484"
187
- y="295.26758"
188
- id="tspan8164">p1.cy</tspan></text>
189
- <path
190
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
191
- d="m 62.629796,1180.7149 h 1.517311"
192
- id="path1476-1-0-7" />
193
- <path
194
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
195
- d="m 72.90596,1198.5817 v -1.8492"
196
- id="path1478-5-2-5" />
197
- <text
198
- xml:space="preserve"
199
- transform="matrix(0.26458333,0,0,0.26458333,23.55646,1117.2324)"
200
- id="text3972-73-3-9"
201
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3974-2-2-2);display:inline"><tspan
202
- x="63.429688"
203
- y="346.04105"
204
- id="tspan8166">line_projectPoint(p3)</tspan></text>
205
- <path
206
- style="fill:none;stroke:#008000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
207
- d="M 72.905962,1180.7149 93.36556,1203.568"
208
- id="path1069-2" />
209
- <path
210
- style="fill:none;stroke:#008000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
211
- d="m 56.156456,1162.0019 16.749504,18.713"
212
- id="path1069-4-28" />
213
- <path
214
- style="fill:none;stroke:#ffaaaa;stroke-width:0.264582px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
215
- d="m 80.737187,1189.5267 4.402877,-3.9263"
216
- id="path1069-4-7-9" />
217
- <path
218
- style="fill:none;stroke:#0000ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
219
- d="m 71.891927,1179.3012 c 0,0 1.670056,-0.5952 2.320936,-0.1731 0.429768,0.2787 0.520551,1.4459 0.520551,1.4459"
220
- id="path1176-7" />
221
- <text
222
- xml:space="preserve"
223
- transform="matrix(0.26458333,0,0,0.26458333,-6.7671781,682.68614)"
224
- id="text1178-3"
225
- style="font-size:8px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1180-7);display:inline;fill:#0000ff"><tspan
226
- x="309.29102"
227
- y="1878.8633"
228
- id="tspan8168">ca</tspan></text>
229
- <text
230
- xml:space="preserve"
231
- transform="matrix(0.26458333,0,0,0.26458333,-2.5921058,689.9987)"
232
- id="text1211-6"
233
- style="font-size:8px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1213-0);display:inline;fill:#ff8080"><tspan
234
- x="323.20508"
235
- y="1887.8848"
236
- id="tspan8170">l1.distanceToPoint(p3)</tspan></text>
237
- <path
238
- style="fill:none;stroke:#800080;stroke-width:0.264584px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
239
- d="m 84.117763,1186.4717 c 0,0 -0.408999,-1.8727 0.145173,-2.4944 0.405092,-0.4545 1.239555,-0.554 1.79921,-0.3143 0.642433,0.2751 1.164009,1.7438 1.164009,1.7438"
240
- id="path1176-8-4-2" />
241
- <path
242
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
243
- d="m 72.318048,1181.4598 1.175826,-1.4899"
244
- id="path1355-9-3-9" />
245
- <path
246
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
247
- d="m 72.161046,1180.1269 1.489829,1.1759"
248
- id="path1355-5-09-61-3" />
249
- <text
250
- xml:space="preserve"
251
- transform="matrix(0.26458333,0,0,0.26458333,-4.0580422,683.46203)"
252
- id="text1211-0-1"
253
- style="font-size:8px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1213-5-9);display:inline;fill:#800080"><tspan
254
- x="323.20508"
255
- y="1887.8848"
256
- id="tspan8172">l1.angleToPoint(p3</tspan><tspan
257
- x="323.20508"
258
- y="1897.8848"
259
- id="tspan8174">)</tspan></text>
260
- <path
261
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
262
- d="m 84.719259,1186.1251 1.175826,-1.4899"
263
- id="path1355-9-3-9-5" />
264
- <path
265
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
266
- d="m 84.562257,1184.7922 1.489829,1.1759"
267
- id="path1355-5-09-61-3-0" />
268
- <path
269
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
270
- d="m 85.308581,1185.4148 h 6.68089"
271
- id="path1174-6-3" />
272
- <text
273
- xml:space="preserve"
274
- transform="matrix(0.26458333,0,0,0.26458333,-14.396568,-0.62770107)"
275
- id="text1973"
276
- style="font-size:10.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1975);display:inline;fill:#008000"><tspan
277
- x="275.24609"
278
- y="4425.3477"
279
- id="tspan8176">l1</tspan></text>
280
- <text
281
- xml:space="preserve"
282
- transform="matrix(0.26458333,0,0,0.26458333,26.030033,1139.9817)"
283
- id="text1386-1-7-0-4"
284
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1388-7-62-2-7);display:inline"><tspan
285
- x="232.47656"
286
- y="174.34183"
287
- id="tspan8178">p3</tspan></text>
288
- <path
289
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
290
- d="m 80.203659,1190.169 1.175826,-1.4899"
291
- id="path1355-9-3-9-5-6" />
292
- <path
293
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
294
- d="m 80.046657,1188.8361 1.489829,1.1759"
295
- id="path1355-5-09-61-3-0-1" />
296
- <text
297
- xml:space="preserve"
298
- transform="matrix(0.26458333,0,0,0.26458333,6.8506004,1146.2016)"
299
- id="text1386-1-7-0-4-3"
300
- style="font-size:8px;line-height:1.25;font-family:sans-serif;text-align:center;white-space:pre;shape-inside:url(#rect1388-7-62-2-7-6);display:inline"
301
- x="36.240234"
302
- y="0"><tspan
303
- x="266.70703"
304
- y="168.44336"
305
- id="tspan8180">p4
306
- </tspan><tspan
307
- x="234.84375"
308
- y="178.44336"
309
- id="tspan8182">l1.projectPoint(p3)</tspan></text>
310
- </g>
311
- </svg>