stroke oppairs → pairsimport fullseye as fs; fs.ledger.stroke_resample_closed(points, n_points, allow_shortening=False) (実装を直接呼ぶなら import printpath; printpath.stroke_resample_closed(points, n_points, allow_shortening=False)、台帳から引くなら opsprintpath.get("stroke_resample_closed"))閉じた線を等弧長に打ち直す。→ pairs
フーリエへ渡す前段。★媒介変数の取り方で係数が変わる(実測で最大 47 倍)ので、 ここは弧長で等間隔と明示する。弧長の間隔は機械精度で一定(実測 cv 1e-14)。
★ただし打ち直すと線は短くなる: 標本と標本を結ぶのは弦なので、折れ点で角を
切る。実測(300 頂点の巡回路): 標本 4000 で長さ 99.1 %、1024 で 96.9 %、
300(頂点と同数)で 89.3 %、100 で 72.8 %、50 で 57.7 %。長さが変われば
濃淡の再現も壊れるので、入力の頂点数より少ない標本は既定で拒否する
(意図してならば allow_shortening=True)。
py -3.11 examples/poc_one_stroke_epicycles.pypairs を入力に取れる)stipple_energy · stroke_tour_closed · mst_length · stroke_tone_error · mosaic_tiles_render
stroke)stipple_points_from_image · stipple_energy · stroke_tour_closed · mst_length · stroke_tone_error
Provenance: printpath.py — PRINTPATH operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.