【Word VBA】ベルヌーイの螺旋描画マクロ▽ソースコード

記事
IT・テクノロジー
HC250115A.png

Option Explicit
Option Base 0
'
Public Sub ベルヌーイの螺旋描画マクロ()
   Const BERNPAIV = 3.141592653589    'π
   Const BERNRADI = BERNPAIV / 180     'π/180
   Const BERNCXPT = 160                               '描画開始位置
   Const BERNCYPT = 180
   '
   Const BERNEANG = 360 * 5                        '終点角度(°)
   Const BERNAVAL = 5                                  '係数A(サイズ)
   Const BERNBVAL = 0.1            '係数B
   '
   Const BERNLNCL = &HD30094                     '線の色(紫)
   Const BERNLNWT = 1.5                     '線の太さ
   '---------------------------------------------------------------------------
   Dim Ip As Integer
   Dim sngPlp(BERNEANG, 1) As Single
   Dim sngSit As Single, sngRad As Single
   '
   '*座標を算出、ポリラインの配列に格納
   For Ip = 0 To BERNEANG
       sngSit = BERNRADI * Ip
       sngRad = BERNAVAL * Exp(BERNBVAL * sngSit)
       sngPlp(Ip, 0) = sngRad * Cos(sngSit) + BERNCXPT
       sngPlp(Ip, 1) = sngRad * Sin(sngSit) + BERNCYPT
   Next Ip
   '
   '*ポリライン描画
   With ActiveDocument.Shapes.AddPolyline(sngPlp)
        .Fill.Visible = msoFalse
        .Line.Visible = msoCTrue
        .Line.ForeColor = BERNLNCL          '←線色
        .Line.Weight = BERNLNWT                '←線の太さ
        .Line.DashStyle = msoLineSolid      '←線種
    End With
End Sub

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら