fullseye

halftone_moire_period — PRINTPATH npr op

使い方

The beat between two halftone screens — period and direction, in closed form.

Each screen is a frequency vector f (cos t, sin t); where two screens overlap the visible moiré is the difference vector, so its period is 1 / |f_a - f_b| and its direction is that of the difference. For equal rulings the magnitude reduces to 2 f sin(dt / 2), which is why the beat period grows without bound as the angle difference goes to zero — two plates at nearly the same angle give a huge, very visible moiré.

★Why this earns its place: the prediction is available before any screen is drawn, and :func:halftone_screen plus an FFT can measure the beat out of the picture. Two independent routes to one number.

Returns a table: period_px, angle_deg, freq_cycles_per_px.

Raises ValueError: non-positive ruling or pitch; two screens that are identical in both ruling and angle (the difference vanishes — there is no beat, and returning inf silently would be worse than saying so).

詳しい使い方ガイド

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

gcode_write · gcode_extrusion_volume · gcode_time_estimate · gcode_layer_image · contours_to_gcode

同カテゴリ(npr)

halftone_screen · engrave_lines · hatch_field · mosaic_tiles_sites · mosaic_tiles_render


Provenance: printpath.py — PRINTPATH operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.