gil_line&line.pd 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. #N canvas 4 -1020 1105 998 10;
  2. #X obj 47 348 -;
  3. #X obj 57 318 t b f;
  4. #X obj 117 371 t b f;
  5. #X obj 117 396 *;
  6. #X obj 257 417 t b f;
  7. #X obj 257 446 -;
  8. #X obj 187 348 -;
  9. #X obj 197 318 t b f;
  10. #X obj 257 369 t b f;
  11. #X obj 257 396 *;
  12. #X obj 547 511 /;
  13. #X obj 726 785 >= 0;
  14. #X obj 763 785 <= 1;
  15. #X obj 726 811 &&;
  16. #X obj 752 551 -;
  17. #X obj 762 521 t b f;
  18. #X obj 822 714 /;
  19. #X obj 822 664 t b f;
  20. #X obj 752 634 t b f;
  21. #X obj 742 664 +;
  22. #X obj 752 581 t b f;
  23. #X obj 752 611 *;
  24. #X obj 822 799 >= 0;
  25. #X obj 856 799 <= 1;
  26. #X obj 822 826 &&;
  27. #X obj 822 769 t f f;
  28. #X obj 822 877 &&;
  29. #X obj 822 851 t b f;
  30. #X text 349 243 N=(b_1 -a_1 )*(d_2 -c_2 )-(b_2 -a_2 )*(d_1 -c_1 );
  31. #X text 220 541 s=((c_1 -a_1 )*(d_2 -c_2 )-(c_2 -a_2 )*(d_1 -c_1 ))/N
  32. ;
  33. #X text 34 243 (c_1 -a_1 )*(d_2 -c_2 )-(c_2 -a_2 )*(d_1 -c_1 );
  34. #X text 672 446 t=(a_1 -c_1 +s*(b_1 -a_1))/(d_1 -c_1);
  35. #X text 31 92 line segment S_1 is given by the points A (a_1 /a_2)
  36. and B(b_1 /b_2) \, line segment S_2 by C and D.;
  37. #X text 606 885 N = 0 --> S_1 || S_2;
  38. #X text 110 663 x_s = a_1 + s*(b_1 - a_1);
  39. #X text 342 641 y_s = a_2 + s*(b_2 - a_2);
  40. #X text 771 931 0 <= s <= 1 AND 0 <= t <= 1 --> S lies on AB and CD.
  41. ;
  42. #X text 542 63 (c)2011 Marian Weger /part of GIL/;
  43. #X obj 57 298 r \$0-a_1;
  44. #X obj 197 298 r \$0-a_2;
  45. #X obj 762 501 r \$0-a_1;
  46. #X obj 752 481 r \$0-b_1;
  47. #X obj 822 907 outlet crossing;
  48. #X text 31 17 gil_x_line_segments;
  49. #X obj 48 145 inlet A;
  50. #X obj 168 145 inlet B;
  51. #X obj 288 145 inlet C;
  52. #X obj 408 145 inlet D;
  53. #X obj 48 166 unpack f f;
  54. #X obj 168 166 unpack f f;
  55. #X obj 288 166 unpack f f;
  56. #X obj 408 166 unpack f f;
  57. #X obj 48 188 s \$0-a_1;
  58. #X obj 105 188 s \$0-a_2;
  59. #X obj 408 188 s \$0-d_1;
  60. #X obj 465 188 s \$0-d_2;
  61. #X obj 345 188 s \$0-c_2;
  62. #X obj 288 188 s \$0-c_1;
  63. #X obj 225 188 s \$0-b_2;
  64. #X obj 168 188 s \$0-b_1;
  65. #X obj 47 278 r \$0-c_1;
  66. #X obj 117 348 -;
  67. #X obj 127 318 t b f;
  68. #X obj 117 278 r \$0-d_2;
  69. #X obj 127 298 r \$0-c_2;
  70. #X obj 187 278 r \$0-c_2;
  71. #X obj 257 348 -;
  72. #X obj 267 318 t b f;
  73. #X obj 257 278 r \$0-d_2;
  74. #X obj 267 298 r \$0-c_2;
  75. #X obj 347 348 -;
  76. #X obj 357 318 t b f;
  77. #X obj 417 371 t b f;
  78. #X obj 417 396 *;
  79. #X obj 557 417 t b f;
  80. #X obj 557 446 -;
  81. #X obj 487 348 -;
  82. #X obj 497 318 t b f;
  83. #X obj 557 369 t b f;
  84. #X obj 557 396 *;
  85. #X obj 357 298 r \$0-a_1;
  86. #X obj 497 298 r \$0-a_2;
  87. #X obj 417 348 -;
  88. #X obj 427 318 t b f;
  89. #X obj 417 278 r \$0-d_2;
  90. #X obj 427 298 r \$0-c_2;
  91. #X obj 557 348 -;
  92. #X obj 567 318 t b f;
  93. #X obj 347 278 r \$0-b_1;
  94. #X obj 487 278 r \$0-b_2;
  95. #X obj 557 278 r \$0-d_1;
  96. #X obj 567 298 r \$0-c_1;
  97. #X obj 682 551 -;
  98. #X obj 692 521 t b f;
  99. #X obj 692 501 r \$0-c_1;
  100. #X obj 682 481 r \$0-a_1;
  101. #X obj 822 633 -;
  102. #X obj 832 603 t b f;
  103. #X obj 822 563 r \$0-d_1;
  104. #X obj 832 583 r \$0-c_1;
  105. #X obj 726 761 t f f;
  106. #X text 829 741 t;
  107. #X text 555 525 s;
  108. #X obj 547 541 t f f f;
  109. #X obj 196 758 -;
  110. #X obj 206 728 t b f;
  111. #X obj 206 708 r \$0-a_1;
  112. #X obj 196 688 r \$0-b_1;
  113. #X obj 244 794 *;
  114. #X obj 254 768 t b f;
  115. #X obj 294 614 t f f;
  116. #X obj 254 847 t b f;
  117. #X obj 244 873 +;
  118. #X obj 254 827 r \$0-a_1;
  119. #X obj 384 743 -;
  120. #X obj 394 713 t b f;
  121. #X obj 374 794 *;
  122. #X obj 384 768 t b f;
  123. #X obj 384 847 t b f;
  124. #X obj 374 873 +;
  125. #X obj 384 827 r \$0-a_1;
  126. #X obj 384 673 r \$0-b_2;
  127. #X obj 394 693 r \$0-a_2;
  128. #X obj 557 481 t b f f;
  129. #X obj 596 908 == 0;
  130. #X obj 596 928 outlet parallel;
  131. #X obj 374 933 pack f f;
  132. #X obj 374 903 t b f;
  133. #X obj 374 955 outlet S;
  134. #X text 68 949 the coordinates of the intersection S (s_1 / s_2);
  135. #X text 31 47 calculates the intersection point of two straight lines
  136. given by AB and CD \, and estimates \, if the intersection lies within
  137. the given line segments S_1 and S_2;
  138. #X connect 0 0 3 0;
  139. #X connect 1 0 0 0;
  140. #X connect 1 1 0 1;
  141. #X connect 2 0 3 0;
  142. #X connect 2 1 3 1;
  143. #X connect 3 0 5 0;
  144. #X connect 4 0 5 0;
  145. #X connect 4 1 5 1;
  146. #X connect 5 0 10 0;
  147. #X connect 6 0 9 0;
  148. #X connect 7 0 6 0;
  149. #X connect 7 1 6 1;
  150. #X connect 8 0 9 0;
  151. #X connect 8 1 9 1;
  152. #X connect 9 0 4 0;
  153. #X connect 10 0 103 0;
  154. #X connect 11 0 13 0;
  155. #X connect 12 0 13 1;
  156. #X connect 13 0 26 0;
  157. #X connect 14 0 20 0;
  158. #X connect 15 0 14 0;
  159. #X connect 15 1 14 1;
  160. #X connect 16 0 25 0;
  161. #X connect 17 0 16 0;
  162. #X connect 17 1 16 1;
  163. #X connect 18 0 19 0;
  164. #X connect 18 1 19 1;
  165. #X connect 19 0 16 0;
  166. #X connect 20 0 21 0;
  167. #X connect 20 1 21 1;
  168. #X connect 21 0 18 0;
  169. #X connect 22 0 24 0;
  170. #X connect 23 0 24 1;
  171. #X connect 24 0 27 0;
  172. #X connect 25 0 22 0;
  173. #X connect 25 1 23 0;
  174. #X connect 26 0 42 0;
  175. #X connect 27 0 26 0;
  176. #X connect 27 1 26 1;
  177. #X connect 38 0 1 0;
  178. #X connect 39 0 7 0;
  179. #X connect 40 0 15 0;
  180. #X connect 41 0 14 0;
  181. #X connect 44 0 48 0;
  182. #X connect 45 0 49 0;
  183. #X connect 46 0 50 0;
  184. #X connect 47 0 51 0;
  185. #X connect 48 0 52 0;
  186. #X connect 48 1 53 0;
  187. #X connect 49 0 59 0;
  188. #X connect 49 1 58 0;
  189. #X connect 50 0 57 0;
  190. #X connect 50 1 56 0;
  191. #X connect 51 0 54 0;
  192. #X connect 51 1 55 0;
  193. #X connect 60 0 0 0;
  194. #X connect 61 0 2 0;
  195. #X connect 62 0 61 0;
  196. #X connect 62 1 61 1;
  197. #X connect 63 0 61 0;
  198. #X connect 64 0 62 0;
  199. #X connect 65 0 6 0;
  200. #X connect 66 0 8 0;
  201. #X connect 67 0 66 0;
  202. #X connect 67 1 66 1;
  203. #X connect 68 0 66 0;
  204. #X connect 69 0 67 0;
  205. #X connect 70 0 73 0;
  206. #X connect 71 0 70 0;
  207. #X connect 71 1 70 1;
  208. #X connect 72 0 73 0;
  209. #X connect 72 1 73 1;
  210. #X connect 73 0 75 0;
  211. #X connect 74 0 75 0;
  212. #X connect 74 1 75 1;
  213. #X connect 75 0 123 0;
  214. #X connect 76 0 79 0;
  215. #X connect 77 0 76 0;
  216. #X connect 77 1 76 1;
  217. #X connect 78 0 79 0;
  218. #X connect 78 1 79 1;
  219. #X connect 79 0 74 0;
  220. #X connect 80 0 71 0;
  221. #X connect 81 0 77 0;
  222. #X connect 82 0 72 0;
  223. #X connect 83 0 82 0;
  224. #X connect 83 1 82 1;
  225. #X connect 84 0 82 0;
  226. #X connect 85 0 83 0;
  227. #X connect 86 0 78 0;
  228. #X connect 87 0 86 0;
  229. #X connect 87 1 86 1;
  230. #X connect 88 0 70 0;
  231. #X connect 89 0 76 0;
  232. #X connect 90 0 86 0;
  233. #X connect 91 0 87 0;
  234. #X connect 92 0 19 0;
  235. #X connect 93 0 92 0;
  236. #X connect 93 1 92 1;
  237. #X connect 94 0 93 0;
  238. #X connect 95 0 92 0;
  239. #X connect 96 0 17 0;
  240. #X connect 97 0 96 0;
  241. #X connect 97 1 96 1;
  242. #X connect 98 0 96 0;
  243. #X connect 99 0 97 0;
  244. #X connect 100 0 11 0;
  245. #X connect 100 1 12 0;
  246. #X connect 103 0 110 0;
  247. #X connect 103 1 100 0;
  248. #X connect 103 2 21 0;
  249. #X connect 104 0 108 0;
  250. #X connect 105 0 104 0;
  251. #X connect 105 1 104 1;
  252. #X connect 106 0 105 0;
  253. #X connect 107 0 104 0;
  254. #X connect 108 0 112 0;
  255. #X connect 109 0 108 0;
  256. #X connect 109 1 108 1;
  257. #X connect 110 0 109 0;
  258. #X connect 110 1 116 0;
  259. #X connect 111 0 112 0;
  260. #X connect 111 1 112 1;
  261. #X connect 112 0 126 0;
  262. #X connect 113 0 111 0;
  263. #X connect 114 0 117 0;
  264. #X connect 115 0 114 0;
  265. #X connect 115 1 114 1;
  266. #X connect 116 0 119 0;
  267. #X connect 117 0 116 0;
  268. #X connect 117 1 116 1;
  269. #X connect 118 0 119 0;
  270. #X connect 118 1 119 1;
  271. #X connect 119 0 127 0;
  272. #X connect 120 0 118 0;
  273. #X connect 121 0 114 0;
  274. #X connect 122 0 115 0;
  275. #X connect 123 0 10 0;
  276. #X connect 123 1 10 1;
  277. #X connect 123 2 124 0;
  278. #X connect 124 0 125 0;
  279. #X connect 126 0 128 0;
  280. #X connect 127 0 126 0;
  281. #X connect 127 1 126 1;