Processing

PythonでProcessing Output Files beginRaw() / endRaw()

3Dデータからベクトルを作成するには、beginRaw()およびendRaw()コマンドを使用する。これらのコマンドは、スクリーンにレンダリングされる直前のシェイプデータを取得する。この段階では、シーン全体が、個々の線や三角形の長いリストに過ぎない。つまり、sphere()関数で作成された形状は、単一のオブジェクトではなく、何百もの三角形で構成されている。また、複数のセグメントを持つ線状の形状(曲線など)は、個々のセグメントとしてレンダリングされている。

beginRaw()とendRaw()を使うと、2Dと3Dのどちらのレンダラーにも書き込むことができる。例えば、PDFライブラリのbeginRaw()は、P3Dレンダラーからの記録であっても、ジオメトリを平坦化された三角形と直線として書き込む。

ファイルに背景を表示したい場合は、fill()に背景色を設定した後、rect(0, 0, width, height)を使用する。そうしないと、背景がシェイプされていないため、ファイルにレンダリングされない。

hint(ENABLE_DEPTH_SORT)を使用すると、2Dファイルフォーマットに描画された3Dジオメトリの外観を改善できる。詳細は hint() のリファレンスを参照。

詳細は、PDFおよびDXFライブラリのリファレンスの例を参照。

add_library('pdf')

def setup():
    size(200, 200)
    beginRaw(PDF, "output.pdf")

def draw():
    line(pmouseX, pmouseY, mouseX, mouseY)

def keyPressed():
    if key == 's':
        endRaw()
        exit()