曲線Pathを近似の直線PathにするGetFlattenedPathGeometry使ってみた
GetFlattenedPathGeometryメソッドを使って曲線のPathGeometryから直線のPathGeometryを取得
GetFlattenedPathGeometry(tolerance, ToleranceType)
Tolerance:公差、許容できる誤差をdouble型で指定
ToleranceType:Absolute絶対 or Relative相対のどちらかを指定
今回のアプリのダウンロード先
オレンジ線が元のベジェ曲線で、細い青線がそれから取得した直線のPathGeometry
Toleranceの値を大きくすると雑になる
Tolerance=0ならToleranceTypeはAbsoluteでもRelativeでも結果は同じ
青線は曲線に見えるくらい細かい直線の集まり、丁寧で正確
ToleranceType.Relative
ToleranceTypeがRelativeだとToleranceが0.1でも、かなり雑になってカクカク
1.2でアンカーポイントだけになって、これ以上大きくしても変化なしだったので、これが一番雑な状態みたい
ToleranceType.Absolute
AbsoluteだとTolerance=1.2でも曲線に近い
19.4まで大きくしたらRelativeの0.1と同じになった
一番雑な状態になったのは310.1
ベジェ曲線を少し変更、伸ばしてみた
Relative
Relativeだと一番雑な状態になったのは1.5
さっきは1.2だった
Absolute
Absoluteだと510、さっきは310.1だった
なので元になるPathGeometryの長さとか大きさで変わるみたい
でも、どれくらいの値を指定すればどれくらいの丁寧さが得られるのかの見当がつかないなあ、何を基準にした絶対や相対なのかがわからん
デザイン画面
コード
曲線を近似の直線に変換してもあんまり嬉しくないけど、直線にすると長さを測れるとかがある
コード
関連記事
次、2018/06/15は翌日
Pathを等分したところに印と角度を表示してみた、GetPointAtFractionLength ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15550562.html