这种沿贝塞尔曲线分布图像的方式用cairo库怎么实现,希望有做图形方面的来交流一下
,这个是图元
怪我咯2017-04-17 15:34:11
私はカイロを使ったことはありませんが、ベジェ曲線については知っています。
まず、cairoにベジェ曲線機能が付いていれば言うまでもないことです。
ベジェ曲線は、分割統治法を使用して実装できる連続コーナーカットなどのサブピジョン法を使用して実現できます。
もう 1 つの一般的な方法は、ド カステルジョ アルゴリズムです。これは、コントロール スティックの線形補間 (スライド) によって描画されます。詳細については、Wiki を参照してください。
質問に答えるために、ド カステルジョー アルゴリズムを使用して描画プログラムを作成しました。
コアコード:
リーリー完全なコード
プリミティブを曲線に沿って均等に分散させたい場合は、u の関数として曲線の弧の長さを計算する必要があります。ただし、ベジェ曲線の式はより複雑で、弧の長さを積分するのは次のとおりです。さらに複雑です。したがって、数値的手法を使用して間隔点を決定することをお勧めします。曲線上の各間隔点の法線ベクトルを簡単に取得できるため、プリミティブを曲線にマッピングすることが容易になります。