ソースプログラムを覗いてみよう!!

【書籍等の購入はこちら⇒】


【VB.NET プログラム例】


【VBA/Excel式定義】   【VB.net】   【C#.net】   【Android Java】   【C言語】   【Prolog】   【Python】

C言語による【言語処理学習用データ型自由なミニ言語(Type Free Mini Language)】


【目次】

  1. マンデルブロ集合とジュリア集合
  2. 色鮮やかなコッホ曲線
  3. 再帰的な手続きで植物を描く
  4. メンガーのスポンジ(Menger's Sponge)
  5. 分子の運動シミュレーション
  6. ユーザ定義演算子
  7. 反復関数系による描画
  8. 円の分割によるフラクタル
  9. グモウスキとミラの写像
  10. パーコレーション(Percolation)問題
  11. ストレンジアトラクタ(Strange Attractor)の3D表示
  12. ロジスティック写像(Logistic Map)の描画
  13. ネフロイドとカージオイドの描画
  14. ダイアモンド・パターン(色付き)
  15. 包絡線の回転
  16. ジャパニーズアトラクタまたは上田アトラクタ
  17. 四元数
  18. ランダム地形の生成

【プログラム例】

  1. マンデルブロ集合とジュリア集合

  2. 収束・発散回数で色を変えて表示します。
    例題は白黒ですが、カラフルな色に変えてみましょう。

  3. 色鮮やかなコッホ曲線

  4. 単純なコッホ曲線ではつまらないので、
    色鮮やかにしてみました。

  5. 再帰的な手続きで植物を描く

  6. 再帰的手続きで3種類の植物を描く例です。

  7. メンガーのスポンジ(Menger's Sponge)

  8. メンガーのスポンジ描画のVB.net版です。



    先頭の前面の色を変えたバージョン(内部と表面が区別できる)



    BitMapに描いてイメージを移すバージョン(描画が高速化できる)

    描画の過程は観察できませんが、描画速度は速くなります。

  9. 分子の運動シミュレーション

  10. ポテンシャル関数としてレナード・ジョーンズ・ポテンシャルを使っています。

    解説については拙著 「ExcelとVBAによる実用数値解析入門」
    の9.3節(4)を参照してください。



  11. ユーザ定義演算子

  12. System.Numericsをインポートすれば複素数を使うことができますが、
    ユーザ定義の演算子の定義例を示すため、敢えて複素数演算を定義しています。

  13. 反復関数系による描画

  14. 反復関数系でぶどうの葉に似た形を描きます。
    自然ぽい絵になっているかと思います。

    反復関数系を色々変えてみましょう。



    【場所によって色を変えるバージョン】



  15. 円の分割によるフラクタル

  16. 円の中にさらに円を描いて自己相似形を描きます。

    【3分割のプログラムソース】
    【4分割のプログラムソース】
    【6分割のプログラムソース】

    【分割数を指定する】

    タイプ3分割4分割6分割


    以下は【分割数を指定する】バージョンで3〜14を指定してタイプ2を連続表示したものです。



  17. グモウスキとミラの写像

  18. μパラメータの変更で目まぐるしく絵が変わる様子をお楽しみください



  19. パーコレーション(Percolation)問題

  20. ここでは「絶縁粒子中に電導性粒子が何%を占めると電導性を持つようになるか」
    という混合物質の電導性推定問題をとりあげます。



  21. ストレンジアトラクタ(Strange Attractor)の3D表示

  22. ストレンジアトラクタを3D表示します。



  23. ロジスティック写像(Logistic Map)の描画

  24. ロジスティック写像を描画します。





  25. ネフロイドとカージオイドの描画

  26. 昔は線画で描いて遊んだものですが、カラーにしました。
    ぼかしの処理も入れてギャザを目立たなくなるようにしています。

  27. ダイアモンド・パターン(色付き)

  28. プログラミング言語入門の描画例題として、頻繁に取り上げられる
    ダイアモンド・パターンですが、黒色の線画では面白くないので、
    色付きにしました。

    角数も変化させてアニメ風にしてみました。

    20角形の場合30角形の場合




  29. 包絡線の回転

  30. 直線の集合の包絡線形状を回転させます。

    30度60度
    90度120度




  31. ジャパニーズアトラクタまたは上田アトラクタ

  32. 日本ではあまり有名ではありませんが、
    世界の数学者からは非常に評価されている
    世界最古のカオス、ジャパニーズアトラクタ
    またの名を上田アトラクタを紹介します。





    上図はθ=2πのときだけを描いたものですが、
    すべての点を表示すると下図のようになります。

  33. 四元数

  34. 四元数の関数定義例です。



  35. ランダム地形の生成

  36. ランダムな地形を生成します。



    以下は、負の標高値をゼロの標高値にすることで、
    海上や湖上の島、平原上の丘のような景観の地形を生成するバージョンです。
    なお、バージョンアップに伴って負の標高値の場合の色調も変化させました。

    【島や丘を生成する】







    以下は、色マップを表示して、手前から見えない場所も
    確認できるようにしたバージョンです。

    【色マップを表示する】



    上記を色マップで表示した例です。



JapaneseAttractor