geometrix 0.5.10 → 0.5.12

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 (89) hide show
  1. package/dist/index.d.ts +505 -0
  2. package/dist/index.js +3848 -0
  3. package/package.json +7 -1
  4. package/.eslintignore +0 -17
  5. package/.eslintrc.cjs +0 -24
  6. package/.prettierignore +0 -15
  7. package/.prettierrc +0 -8
  8. package/src/aaExportContent.ts +0 -213
  9. package/src/aaExportFile.ts +0 -141
  10. package/src/aaParamGeom.ts +0 -62
  11. package/src/angle_utils.test.ts +0 -83
  12. package/src/angle_utils.ts +0 -98
  13. package/src/arc_to_stroke.ts +0 -73
  14. package/src/canvas_utils.test.ts +0 -28
  15. package/src/canvas_utils.ts +0 -159
  16. package/src/contour.test.ts +0 -37
  17. package/src/contour.ts +0 -806
  18. package/src/designParams.ts +0 -178
  19. package/src/figure.test.ts +0 -21
  20. package/src/figure.ts +0 -400
  21. package/src/index.ts +0 -16
  22. package/src/line.test.ts +0 -78
  23. package/src/line.ts +0 -359
  24. package/src/paramFile.ts +0 -52
  25. package/src/point.test.ts +0 -36
  26. package/src/point.ts +0 -246
  27. package/src/prepare_pax.ts +0 -102
  28. package/src/segment.test.ts +0 -26
  29. package/src/segment.ts +0 -701
  30. package/src/sub_design.ts +0 -16
  31. package/src/triangle_utils.test.ts +0 -38
  32. package/src/triangle_utils.ts +0 -112
  33. package/src/vector.test.ts +0 -28
  34. package/src/vector.ts +0 -122
  35. package/src/volume.ts +0 -50
  36. package/src/write_dxf.ts +0 -100
  37. package/src/write_openjscad.ts +0 -284
  38. package/src/write_openscad.ts +0 -305
  39. package/src/write_pax.ts +0 -73
  40. package/src/write_svg.ts +0 -101
  41. package/svg/any_triangle.svg +0 -156
  42. package/svg/arc_definition.svg +0 -506
  43. package/svg/construct_corner_rounded_ext_arc_ext_arc.svg +0 -378
  44. package/svg/construct_corner_rounded_int_arc_ext_arc.svg +0 -359
  45. package/svg/construct_corner_rounded_int_arc_int_arc.svg +0 -356
  46. package/svg/construct_corner_rounded_stroke_ext_arc.svg +0 -374
  47. package/svg/construct_corner_rounded_stroke_ext_arc_obtuse.svg +0 -370
  48. package/svg/construct_corner_rounded_stroke_ext_arc_obtuse_method2.svg +0 -311
  49. package/svg/construct_corner_rounded_stroke_int_arc.svg +0 -364
  50. package/svg/construct_corner_rounded_stroke_int_arc_obtuse.svg +0 -358
  51. package/svg/construct_corner_rounded_stroke_int_arc_obtuse_method2.svg +0 -237
  52. package/svg/construct_corner_rounded_stroke_stroke.svg +0 -280
  53. package/svg/construct_corner_wideacc.svg +0 -286
  54. package/svg/construct_corner_widened.svg +0 -278
  55. package/svg/construction_of_line_intersection_1.svg +0 -187
  56. package/svg/construction_of_line_intersection_2.svg +0 -189
  57. package/svg/contour_arc_definition_options.svg +0 -324
  58. package/svg/contour_point_absolute_relative.svg +0 -258
  59. package/svg/contour_tangential_two_arcs.svg +0 -531
  60. package/svg/contour_tangential_two_arcs_impossible_case.svg +0 -175
  61. package/svg/contour_tangential_two_arcs_requirements.svg +0 -364
  62. package/svg/corner_rounded_ext_arc_ext_arc.svg +0 -281
  63. package/svg/corner_rounded_int_arc_ext_arc.svg +0 -281
  64. package/svg/corner_rounded_int_arc_int_arc.svg +0 -279
  65. package/svg/corner_rounded_stroke_ext_arc.svg +0 -218
  66. package/svg/corner_rounded_stroke_int_arc.svg +0 -225
  67. package/svg/corner_rounded_stroke_stroke.svg +0 -174
  68. package/svg/geom_dev.svg +0 -14708
  69. package/svg/geom_modules.svg +0 -246
  70. package/svg/geom_user.svg +0 -58
  71. package/svg/line_axis_x_cases.svg +0 -1408
  72. package/svg/line_axis_y_cases.svg +0 -1369
  73. package/svg/line_distanceOrig.svg +0 -318
  74. package/svg/line_getAxisXIntersection.svg +0 -262
  75. package/svg/line_getAxisXIntersection_2.svg +0 -244
  76. package/svg/line_getAxisYIntersection.svg +0 -304
  77. package/svg/line_getAxisYIntersection_2.svg +0 -285
  78. package/svg/line_getAxisYIntersection_3.svg +0 -277
  79. package/svg/line_intersection.svg +0 -346
  80. package/svg/line_projectPoint.svg +0 -311
  81. package/svg/point_1.svg +0 -243
  82. package/svg/point_2.svg +0 -409
  83. package/svg/point_3.svg +0 -298
  84. package/svg/point_4.svg +0 -272
  85. package/svg/point_5.svg +0 -356
  86. package/svg/right_triangle.svg +0 -194
  87. package/svg/vector_definition.svg +0 -130
  88. package/tsconfig.json +0 -13
  89. package/vitest.config.ts +0 -7
@@ -1,175 +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="332.57816"
6
- height="249.50465"
7
- viewBox="0 0 87.994637 66.014772"
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="134.38103"
16
- y="6781.707"
17
- width="288.5101"
18
- height="49.480438"
19
- id="rect2335" />
20
- <rect
21
- x="321.58105"
22
- y="6735.5327"
23
- width="51.929497"
24
- height="33.177792"
25
- id="rect2067" />
26
- <rect
27
- x="155.64101"
28
- y="6737.9668"
29
- width="38.967731"
30
- height="33.484356"
31
- id="rect2061" />
32
- <rect
33
- x="216.3065"
34
- y="6731.9072"
35
- width="47.566715"
36
- height="21.465523"
37
- id="rect2049" />
38
- <rect
39
- x="216.3065"
40
- y="6731.9072"
41
- width="47.566715"
42
- height="21.465523"
43
- id="rect2049-3" />
44
- <rect
45
- x="134.38103"
46
- y="6781.707"
47
- width="288.5101"
48
- height="49.480438"
49
- id="rect2335-0-3" />
50
- </defs>
51
- <g
52
- id="layer1"
53
- transform="translate(-16.189165,-1736.4362)">
54
- <rect
55
- style="fill:#ffffff;stroke:#ffffff;stroke-width:0.264583"
56
- id="rect2472"
57
- width="87.730057"
58
- height="65.750351"
59
- x="16.321457"
60
- y="1736.5684" />
61
- <text
62
- xml:space="preserve"
63
- transform="matrix(0.26458333,0,0,0.26458333,-16.377689,-56.699631)"
64
- id="text2333-6-6"
65
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2335-0-3);display:inline"><tspan
66
- x="134.38086"
67
- y="6794.6836"
68
- id="tspan5634">tangential two arcs : impossible case</tspan></text>
69
- <circle
70
- style="fill:none;stroke:#999999;stroke-width:0.264583"
71
- id="path2391"
72
- cx="47.640759"
73
- cy="1777.9203"
74
- r="6.0527215" />
75
- <ellipse
76
- style="fill:none;stroke:#999999;stroke-width:0.264583"
77
- id="path2391-7"
78
- cx="63.756977"
79
- cy="1757.9592"
80
- rx="14.66725"
81
- ry="14.508711" />
82
- <path
83
- style="fill:none;stroke:#cccccc;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
84
- d="m 20.130677,1778.4998 77.617401,-15.6289"
85
- id="path1778" />
86
- <path
87
- style="fill:none;stroke:#000080;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
88
- d="m 20.130677,1778.4998 22.819327,-4.5301"
89
- id="path1778-3" />
90
- <path
91
- style="fill:none;stroke:#000080;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
92
- d="m 74.928751,1767.401 22.819327,-4.5301"
93
- id="path1778-3-6" />
94
- <path
95
- style="fill:none;stroke:#d45500;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
96
- d="m 42.963315,1773.9813 18.00128,-23.6032"
97
- id="path1888" />
98
- <path
99
- style="fill:none;stroke:#d45500;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
100
- d="m 74.928751,1767.401 8.541356,-11.2286"
101
- id="path1888-7" />
102
- <path
103
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
104
- d="M 42.975764,1773.9722 H 58.669826"
105
- id="path1917" />
106
- <path
107
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
108
- d="M 74.902991,1767.6631 H 90.597053"
109
- id="path1917-5" />
110
- <path
111
- style="fill:none;stroke:#ff6600;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
112
- d="m 45.223972,1771.1675 c 0,0 1.926441,-0.1398 2.41863,0.522 0.449638,0.6046 -0.179123,2.2533 -0.179123,2.2533"
113
- id="path1946" />
114
- <text
115
- xml:space="preserve"
116
- transform="matrix(0.26458333,0,0,0.26458333,-9.4904836,-12.767864)"
117
- id="text2047"
118
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2049);display:inline"><tspan
119
- x="216.30664"
120
- y="6744.8828"
121
- id="tspan5636">a1</tspan></text>
122
- <text
123
- xml:space="preserve"
124
- transform="matrix(0.26458333,0,0,0.26458333,-1.7758748,-8.216954)"
125
- id="text2059"
126
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2061);display:inline"><tspan
127
- x="155.64062"
128
- y="6750.9434"
129
- id="tspan5638">p1</tspan></text>
130
- <text
131
- xml:space="preserve"
132
- transform="matrix(0.26458333,0,0,0.26458333,-10.722842,-13.83769)"
133
- id="text2065"
134
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2067);display:inline"><tspan
135
- x="321.58203"
136
- y="6748.5098"
137
- id="tspan5640">p2</tspan></text>
138
- <path
139
- style="fill:none;stroke:#ff6600;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
140
- d="m 76.756995,1765.0442 c 0,0 1.926441,-0.1398 2.41863,0.522 0.449638,0.6046 -0.179123,2.2533 -0.179123,2.2533"
141
- id="path1946-5" />
142
- <text
143
- xml:space="preserve"
144
- transform="matrix(0.26458333,0,0,0.26458333,21.712866,-19.154532)"
145
- id="text2047-6"
146
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2049-3);display:inline"><tspan
147
- x="216.30664"
148
- y="6744.8828"
149
- id="tspan5642">a2</tspan></text>
150
- <path
151
- style="fill:none;stroke:#803300;stroke-width:0.264582px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
152
- d="M 67.86184,1792.8269 43.017166,1773.8765"
153
- id="path1888-2" />
154
- <path
155
- style="fill:none;stroke:#803300;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
156
- d="M 74.824374,1767.5461 49.376325,1748.1345"
157
- id="path1888-2-9" />
158
- <path
159
- style="fill:none;stroke:#803300;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
160
- d="m 44.258169,1772.2641 1.6855,1.2047 -1.107299,1.5934"
161
- id="path2173" />
162
- <path
163
- style="fill:none;stroke:#803300;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
164
- d="m 73.192091,1766.5059 1.204706,-1.6855 1.593371,1.1073"
165
- id="path2173-1" />
166
- <text
167
- xml:space="preserve"
168
- transform="matrix(0.26458333,0,0,0.26458333,-13.423524,0.68208338)"
169
- id="text2333"
170
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2335);display:inline"><tspan
171
- x="134.38086"
172
- y="6794.6836"
173
- id="tspan5644">if (a1 == a2) {no tangential 2 arcs}</tspan></text>
174
- </g>
175
- </svg>
@@ -1,364 +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="332.57812"
6
- height="425.95905"
7
- viewBox="0 0 87.994629 112.70166"
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
- <marker
15
- style="overflow:visible"
16
- id="Arrow1L-7"
17
- refX="0"
18
- refY="0"
19
- orient="auto-start-reverse"
20
- markerWidth="8.75"
21
- markerHeight="5"
22
- viewBox="0 0 8.75 5"
23
- preserveAspectRatio="xMidYMid">
24
- <path
25
- style="fill:context-stroke;fill-rule:evenodd;stroke:none"
26
- d="M 0,0 5,-5 -12.5,0 5,5 Z"
27
- id="arrow1L-53"
28
- transform="scale(-0.5)" />
29
- </marker>
30
- <rect
31
- x="216.3065"
32
- y="6731.9072"
33
- width="47.566715"
34
- height="21.465523"
35
- id="rect2049-0-5" />
36
- <rect
37
- x="155.64101"
38
- y="6737.9668"
39
- width="38.967731"
40
- height="33.484356"
41
- id="rect2061-9-6" />
42
- <rect
43
- x="321.58105"
44
- y="6735.5327"
45
- width="51.929497"
46
- height="33.177792"
47
- id="rect2067-3-2" />
48
- <rect
49
- x="216.3065"
50
- y="6731.9072"
51
- width="47.566715"
52
- height="21.465523"
53
- id="rect2049-3-6-9" />
54
- <rect
55
- x="134.38103"
56
- y="6781.707"
57
- width="288.5101"
58
- height="49.480438"
59
- id="rect2335-0-1" />
60
- <rect
61
- x="369.27277"
62
- y="7099.2407"
63
- width="39.346462"
64
- height="22.231024"
65
- id="rect10886-2" />
66
- <rect
67
- x="182.42674"
68
- y="7262.0244"
69
- width="59.859699"
70
- height="30.115423"
71
- id="rect10922-0" />
72
- <rect
73
- x="187.79688"
74
- y="7320.1699"
75
- width="38.329914"
76
- height="21.953484"
77
- id="rect10928-6" />
78
- <rect
79
- x="232.71875"
80
- y="7297.2275"
81
- width="57.104019"
82
- height="35.176811"
83
- id="rect10934-2" />
84
- <rect
85
- x="143.35126"
86
- y="7257.272"
87
- width="342.45657"
88
- height="340.14636"
89
- id="rect10940-6" />
90
- <rect
91
- x="320.22559"
92
- y="7078.1475"
93
- width="42.537338"
94
- height="34.44437"
95
- id="rect4472-2" />
96
- <marker
97
- style="overflow:visible"
98
- id="Arrow1L-3-3"
99
- refX="0"
100
- refY="0"
101
- orient="auto-start-reverse"
102
- markerWidth="8.75"
103
- markerHeight="5"
104
- viewBox="0 0 8.75 5"
105
- preserveAspectRatio="xMidYMid">
106
- <path
107
- style="fill:context-stroke;fill-rule:evenodd;stroke:none"
108
- d="M 0,0 5,-5 -12.5,0 5,5 Z"
109
- id="arrow1L-6-67"
110
- transform="scale(-0.5)" />
111
- </marker>
112
- <marker
113
- style="overflow:visible"
114
- id="Arrow1L-3-3-3"
115
- refX="0"
116
- refY="0"
117
- orient="auto-start-reverse"
118
- markerWidth="8.75"
119
- markerHeight="5"
120
- viewBox="0 0 8.75 5"
121
- preserveAspectRatio="xMidYMid">
122
- <path
123
- style="fill:context-stroke;fill-rule:evenodd;stroke:none"
124
- d="M 0,0 5,-5 -12.5,0 5,5 Z"
125
- id="arrow1L-6-67-5"
126
- transform="scale(-0.5)" />
127
- </marker>
128
- </defs>
129
- <g
130
- id="layer1"
131
- transform="translate(-36.986599,-2006.0835)">
132
- <rect
133
- style="fill:#ffffff;stroke:#ffffff;stroke-width:0.264583"
134
- id="rect2472-6-3"
135
- width="87.730057"
136
- height="112.43707"
137
- x="37.118889"
138
- y="2006.2158" />
139
- <path
140
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
141
- d="m 81.241201,2029.3704 1.82749,-0.4154 0.29003,2.069"
142
- id="path8445-3-7" />
143
- <path
144
- style="fill:none;stroke:#cccccc;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
145
- d="m 40.928111,2047.2671 77.617399,-15.6289"
146
- id="path1778-1-5" />
147
- <path
148
- style="fill:none;stroke:#000080;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
149
- d="m 40.928111,2047.2671 22.81933,-4.5301"
150
- id="path1778-3-8-9" />
151
- <path
152
- style="fill:none;stroke:#000080;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
153
- d="m 95.726181,2036.1683 22.819329,-4.5301"
154
- id="path1778-3-6-7-2" />
155
- <path
156
- style="fill:none;stroke:#d45500;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1L-7)"
157
- d="m 64.16872,2042.3306 5.114802,-6.9861"
158
- id="path1888-9-2" />
159
- <path
160
- style="fill:none;stroke:#d45500;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1L-7)"
161
- d="m 94.709182,2035.4356 -3.21906,-3.6979"
162
- id="path1888-7-2-8" />
163
- <path
164
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
165
- d="m 63.773201,2042.7395 h 15.69406"
166
- id="path1917-0-9" />
167
- <path
168
- style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
169
- d="M 95.700421,2036.4304 H 111.39448"
170
- id="path1917-5-2-7" />
171
- <path
172
- style="fill:none;stroke:#ff6600;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
173
- d="m 66.021411,2039.9348 c 0,0 1.92644,-0.1398 2.41863,0.522 0.44963,0.6046 -0.17913,2.2533 -0.17913,2.2533"
174
- id="path1946-3-3" />
175
- <text
176
- xml:space="preserve"
177
- transform="matrix(0.26458333,0,0,0.26458333,11.306951,255.99952)"
178
- id="text2047-7-6"
179
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2049-0-5);display:inline"><tspan
180
- x="216.30664"
181
- y="6744.8828"
182
- id="tspan12005">a1</tspan></text>
183
- <text
184
- xml:space="preserve"
185
- transform="matrix(0.26458333,0,0,0.26458333,17.864461,255.63091)"
186
- id="text2059-5-1"
187
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2061-9-6);display:inline"><tspan
188
- x="155.64062"
189
- y="6750.9434"
190
- id="tspan12007">p1</tspan></text>
191
- <text
192
- xml:space="preserve"
193
- transform="matrix(0.26458333,0,0,0.26458333,8.7897482,254.50692)"
194
- id="text2065-9-2"
195
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2067-3-2);display:inline"><tspan
196
- x="321.58203"
197
- y="6748.5098"
198
- id="tspan12009">p2</tspan></text>
199
- <path
200
- style="fill:none;stroke:#ff6600;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
201
- d="m 94.438991,2034.7857 c 0,0 1.49116,-0.9049 2.13489,-0.5504 0.69123,0.3807 0.72597,2.2533 0.72597,2.2533"
202
- id="path1946-5-2-9" />
203
- <text
204
- xml:space="preserve"
205
- transform="matrix(0.26458333,0,0,0.26458333,40.135271,249.30957)"
206
- id="text2047-6-2-3"
207
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2049-3-6-9);display:inline"><tspan
208
- x="216.30664"
209
- y="6744.8828"
210
- id="tspan12011">a2</tspan></text>
211
- <path
212
- style="fill:none;stroke:#803300;stroke-width:0.264582px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
213
- d="m 95.610361,2066.9144 -31.79902,-24.2669"
214
- id="path1888-2-8-1" />
215
- <path
216
- style="fill:none;stroke:#803300;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
217
- d="m 95.449471,2036.1778 -23.83253,21.3641"
218
- id="path1888-2-9-9-9" />
219
- <path
220
- style="fill:none;stroke:#803300;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
221
- d="m 65.055601,2041.0314 1.6855,1.2047 -1.1073,1.5934"
222
- id="path2173-7-4" />
223
- <path
224
- style="fill:none;stroke:#803300;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
225
- d="m 94.122051,2037.5865 -1.43016,-1.499 1.38606,-1.3579"
226
- id="path2173-1-3-7" />
227
- <text
228
- xml:space="preserve"
229
- transform="matrix(0.26458333,0,0,0.26458333,2.1728302,212.87283)"
230
- id="text2333-6-8"
231
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2335-0-1);display:inline"><tspan
232
- x="134.38086"
233
- y="6794.6836"
234
- id="tspan12013">tangential two arcs : requirements</tspan></text>
235
- <path
236
- style="fill:none;stroke:#cccccc;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
237
- d="m 77.678101,2012.3781 10.85502,54.0523"
238
- id="path1778-1-1-4" />
239
- <path
240
- style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
241
- d="m 82.746541,2036.823 1.82749,-0.4154 0.29004,2.069"
242
- id="path8445-5" />
243
- <circle
244
- style="fill:none;stroke:#88aa00;stroke-width:0.264583"
245
- id="path10766-2-6"
246
- cx="87.34462"
247
- cy="2060.6567"
248
- r="1.4160672" />
249
- <path
250
- style="fill:none;stroke:#cccccc;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
251
- d="m 43.868421,2039.1696 77.617399,-15.6289"
252
- id="path1778-1-9-1" />
253
- <circle
254
- style="fill:none;stroke:#00aad4;stroke-width:0.264583"
255
- id="path10766-2-1-0"
256
- cx="84.403854"
257
- cy="2046.0061"
258
- r="1.4160672" />
259
- <path
260
- style="fill:none;stroke:#cc00ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
261
- d="m 107.78613,2033.8031 c 0,0 0.70286,0.8005 0.80689,1.2997 0.0869,0.417 -0.18423,1.2644 -0.18423,1.2644"
262
- id="path10882-6" />
263
- <text
264
- xml:space="preserve"
265
- transform="matrix(0.26458333,0,0,0.26458333,12.033664,154.32094)"
266
- id="text10884-3"
267
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect10886-2);display:inline"><tspan
268
- x="369.27344"
269
- y="7112.2168"
270
- id="tspan12015">a0</tspan></text>
271
- <text
272
- xml:space="preserve"
273
- transform="matrix(0.26458333,0,0,0.26458333,29.885931,106.03996)"
274
- id="text10920-5"
275
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect10922-0);display:inline"><tspan
276
- x="182.42578"
277
- y="7275"
278
- id="tspan12017">G</tspan></text>
279
- <text
280
- xml:space="preserve"
281
- transform="matrix(0.26458333,0,0,0.26458333,29.689967,98.240511)"
282
- id="text10926-4"
283
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect10928-6);display:inline"><tspan
284
- x="187.79688"
285
- y="7333.1465"
286
- id="tspan12019">H</tspan></text>
287
- <text
288
- xml:space="preserve"
289
- transform="matrix(0.26458333,0,0,0.26458333,24.09522,114.03798)"
290
- id="text10932-7"
291
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect10934-2);display:inline"><tspan
292
- x="232.71875"
293
- y="7310.2032"
294
- id="tspan12021">I</tspan></text>
295
- <text
296
- xml:space="preserve"
297
- transform="matrix(0.26458333,0,0,0.26458333,0.44462029,148.65442)"
298
- id="text10938-6"
299
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect10940-6);display:inline"><tspan
300
- x="143.35156"
301
- y="7270.2481"
302
- id="tspan12023">Given
303
- </tspan><tspan
304
- x="143.35156"
305
- y="7288.5816"
306
- id="tspan12025">- two points p1 and p2
307
- </tspan><tspan
308
- x="143.35156"
309
- y="7306.9151"
310
- id="tspan12027">- and their tangent angles a1 and a2
311
- </tspan><tspan
312
- x="143.35156"
313
- y="7325.2486"
314
- id="tspan12029">we want to define two arcs with
315
- </tspan><tspan
316
- x="143.35156"
317
- y="7343.5821"
318
- id="tspan12031">- a common extremity G
319
- </tspan><tspan
320
- x="143.35156"
321
- y="7361.9156"
322
- id="tspan12033">- their tangent in G is parallel to (p1,p2)
323
- </tspan><tspan
324
- x="143.35156"
325
- y="7380.2491"
326
- id="tspan12035">- the other extremity of the first arc is p1
327
- </tspan><tspan
328
- x="143.35156"
329
- y="7398.5825"
330
- id="tspan12037"> with a tangent angle a1
331
- </tspan><tspan
332
- x="143.35156"
333
- y="7416.916"
334
- id="tspan12039">- the other extremity of the second arc is p2
335
- </tspan><tspan
336
- x="143.35156"
337
- y="7435.2495"
338
- id="tspan12041"> with a tangent angle a2</tspan></text>
339
- <text
340
- xml:space="preserve"
341
- transform="matrix(0.26458333,0,0,0.26458333,0.99972416,187.54269)"
342
- id="text4470-4"
343
- style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect4472-2);display:inline"><tspan
344
- x="320.22656"
345
- y="7091.125"
346
- id="tspan12043">J</tspan></text>
347
- <path
348
- style="fill:none;stroke:#88aa00;stroke-width:0.79375"
349
- id="path10762-0"
350
- d="m 64.033109,2042.5837 a 29.865156,29.865156 0 0 1 17.668247,-10.8324" />
351
- <path
352
- style="fill:none;stroke:#00aad4;stroke-width:0.79375"
353
- id="path10764-3"
354
- d="m 81.554594,2031.6256 a 13.619272,13.619272 0 0 1 13.870809,4.7356" />
355
- <path
356
- style="fill:none;stroke:#ff6600;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1L-3-3)"
357
- d="m 81.589817,2031.5205 -7.004616,1.3684"
358
- id="path1778-1-9-1-7-5" />
359
- <path
360
- style="fill:none;stroke:#ff6600;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1L-3-3-3)"
361
- d="m 81.570272,2031.562 7.004616,-1.3684"
362
- id="path1778-1-9-1-7-5-6" />
363
- </g>
364
- </svg>