DOBON.NETプログラミング道掲示板

■34515 / 3階層)  DrawBezierの使い方について
□投稿者/ 魔界の仮面弁士 大御所(1290回)-(2020/08/02(Sun) 16:55:03)
  • アイコン
    No34514に返信(つばささんの記事)
    > 3点ベジェの曲線を表示するのは、座標計算をしなければ
    > 思ったような曲線は、得られないようですね。
    
    …あれ?
    
    質問内容は「DrawBezier メソッドの使い方について」であって、
    黒色ラインを描く方法についてでは無いと思ったのですが。
    
    
    曲線の細かい話については、この辺りに書かれていますが、それはさておき。
    http://www.f.waseda.jp/moriya/PUBLIC_HTML/education/classes/infomath6/applet/fractal/spline/
    
    2 次ベジエを 3 次ベジエに変換したいのであれば、2次における
    「始点〜制御点までの 2/3 の位置」と
    「終点〜制御点までの 2/3 の位置」を
    3 次の第一制御点・第二制御点として指定してみてください。
    
    
    > 実際のイラストレーターのライン(黒色ライン)と
    イラストレーター(Illustrator?)を見たことが無いので
    黒色ラインが 2 次ベジエであるという、
    当方の予想が正しいのかは分かりません。
    そちらの仕様確認はご自身で行ってください。
    
    
    
    Module GraphicsExtension
      <System.Runtime.CompilerServices.Extension>
      Public Sub DrawQuadCurve(this As Graphics, pen As Pen, pt1 As PointF, pt2 As PointF, pt3 As PointF)
        Dim p1 As New PointF((pt1.X + 2.0F * pt2.X) / 3.0F, (pt1.Y + 2.0F * pt2.Y) / 3.0F)
        Dim p2 As New PointF((2.0F * pt2.X + pt3.X) / 3.0F, (2.0F * pt2.Y + pt3.Y) / 3.0F)
        this.DrawBezier(pen, pt1, p1, p2, pt3)
      End Sub
    End Module
    
    
    とりあえず上記を貼り付けたうえで、先の
     .DrawBezier(bezierPen, points(0), points(1), points(1), points(2))
    の結果を
     .DrawQuadCurve(bezierPen, points(0), points(1), points(2))
    と比較してみてください。

違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[2]: DrawBezierの使い方について /つばさ →Re[4]: DrawBezierの使い方について /つばさ 2020-07-30.png/7KB
 
上記関連ツリー

Nomalアイコン DrawBezierの使い方について / つばさ (20/07/31(Fri) 17:38) #34510 2020-07-31.jpg/17KB
Nomalアイコン Re[1]: DrawBezierの使い方について / 魔界の仮面弁士 (20/08/01(Sat) 04:08) #34513 DrawBezier.gif/18KB
  └Nomalアイコン Re[2]: DrawBezierの使い方について / つばさ (20/08/01(Sat) 09:42) #34514 解決み!
    └Nomalアイコン DrawBezierの使い方について / 魔界の仮面弁士 (20/08/02(Sun) 16:55) #34515 ←Now
      └Nomalアイコン Re[4]: DrawBezierの使い方について / つばさ (20/08/03(Mon) 08:14) #34516 2020-07-30.png/7KB
        └Nomalアイコン Re[5]: DrawBezierの使い方について / 魔界の仮面弁士 (20/08/03(Mon) 15:00) #34518
          └Nomalアイコン Re[6]: DrawBezierの使い方について / つばさ (20/08/04(Tue) 07:49) #34519 解決み!
            └Nomalアイコン Re[7]: DrawBezierの使い方について / つばさ (20/08/04(Tue) 08:10) #34520 解決み! 2020-08-04.jpg/16KB

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -