私は現在、ビデオプロジェクターを使用して実際のレーザーに似た効果を作成するアプリケーションに取り組んでいます。私がアーカイブしようとしているものの本当に良い例は、ここのYoutubeで見ることができます。
基本的に、そのアプリケーションはさまざまな色で単純な動く形を描く必要があります。pycairoを使用した非常に複雑な設定で、プリミティブが一連のモディファイヤを通過して、位置、スケール、回転を変更できるようにしています。これにより、大きな柔軟性が得られます。
残念ながら、pycairoは破線の円を描くのがかなり遅いようです。私はこのように30個の円を描いてみました:
# setup, transforms...
# Example color-scheme:
self._colors = [(0.0, 1.0, 0.0)]
# drawing dashes one after another
for count, color in enumerate(self._colors):
cr.set_dash(dash_len, self._dash_len * count)
cr.set_source_rgb(color[0], color[1], color[2])
cr.arc(0, 0, self.radius(), 0, 2 * math.pi)
cr.stroke()
全体はこのように見えます。これは、Core2Duoを使用して800x600で25fpsを維持することはできません。
円を描くより速い方法はありますか?品質は実際には問題ではありません。
ご協力いただきありがとうございます!