#N canvas 335 118 632 360 10; #X obj 0 0 doc_h; #X obj 0 326 doc_f; #X obj 17 64 #polygon_perimetre; #X obj 3 129 doc_c 0; #X obj 3 169 doc_i 1; #X obj 3 244 doc_o 1; #X obj 14 274 doc_oo 0; #X obj 14 199 doc_ii 0; #X obj 97 274 doc_m o0 grid; #X obj 97 199 doc_m i0 grid; #X text 232 274 perimetre as grid[]; #X text 187 44 finds the perimetre of a sequence of points in which the last point is assumed to connect back to the first point. this not need be an actual polygon (because points don't need to be coplanar for this calculation to work).; #X obj 3 306 doc_also; #X obj 103 306 #polygon_area; #X obj 193 306 #polygon_moment; #X text 232 199 polygon as grid[N \, 2] or any cyclic path as grid[N \, M]; #X msg 17 45 4 2 # 0 -100 0 100 173 0; #X obj 17 83 display; #X obj 295 306 #polygon_each_edge; #X connect 2 0 17 0; #X connect 8 1 10 0; #X connect 9 1 15 0; #X connect 12 1 13 0; #X connect 12 1 14 0; #X connect 12 1 18 0; #X connect 16 0 2 0;