flagflag  If you want to see English page, please click "English" Button at Left.
2: 2011-07-30 (土) 23:21:19 iseki ソース 現: 2011-07-31 (日) 14:53:34 iseki ソース
Line 3: Line 3:
 {  {
   MSGraph<sWord>* xp = NULL;    MSGraph<sWord>* xp = NULL;
 + 
   int    Xsize  = 600;      // スクリーンのXサイズ    int    Xsize  = 600;      // スクリーンのXサイズ
   double Infnty = 1.0e8;    // 無限大    double Infnty = 1.0e8;    // 無限大
Line 11: Line 11:
   double Ymax = 1.5;        // Y軸(虚数部)の最大値の初期値    double Ymax = 1.5;        // Y軸(虚数部)の最大値の初期値
   double val  = 200;        // 最大繰り返し回数の初期値    double val  = 200;        // 最大繰り返し回数の初期値
 + 
   // 数値入力用ダイアログ    // 数値入力用ダイアログ
   BOOL isok = InputMultiNumDLG("X軸の最小値", &Xmin, "X軸の最大値", &Xmax,    BOOL isok = InputMultiNumDLG("X軸の最小値", &Xmin, "X軸の最大値", &Xmax,
Line 21: Line 21:
       return xp;        return xp;
   }    }
 + 
   ////////////////////////////////////////​/    ////////////////////////////////////////​/
   // 以下に処理コードを書く    // 以下に処理コードを書く
Line 29: Line 29:
   int ysize = (int)(xsize*(Ymax-Ymin)/(Xmax-Xmin) + 0.5);    int ysize = (int)(xsize*(Ymax-Ymin)/(Xmax-Xmin) + 0.5);
   double dC = (Xmax-Xmin)/xsize;            // 刻み幅    double dC = (Xmax-Xmin)/xsize;            // 刻み幅
 + 
   xp = new MSGraph<sWord>(xsize, ysize);    // (xsize × ysize) の画用紙を用意    xp = new MSGraph<sWord>(xsize, ysize);    // (xsize × ysize) の画用紙を用意
   int    i, j, k;    int    i, j, k;
   double Cr, Ci, Zr, Zi, Zrp, Zip;    double Cr, Ci, Zr, Zi, Zrp, Zip;
 + 
   Ci = Ymax;    Ci = Ymax;
   for (j=0; j<xp->ys; j++) {    for (j=0; j<xp->ys; j++) {
Line 41: Line 41:
           Zip = 0.0;            Zip = 0.0;
           k  = 0;            k  = 0;
 + 
           // 漸化式の計算  Z(n+1) = Z(n) + C            // 漸化式の計算  Z(n+1) = Z(n) + C
           do {            do {
Line 50: Line 50:
               k++;                k++;
           } while (Zr<Infnty && Zi<Infnty && k<=(int)val);        // 発散のチェック            } while (Zr<Infnty && Zi<Infnty && k<=(int)val);        // 発散のチェック
- +  
-           xp->point(i, j) = (sWord)((double)(val-k+1)*4095/val);  // 色を作って点を打つ( k==1:白, k==val+1:黒)+           xp->point(i, j) = (sWord)((double)(val-k+1)*4095/val);  // 色を作って点を打つ (k==1:白, k==val+1:黒)
           Cr += dC;            Cr += dC;
       }        }
       Ci -= dC;        Ci -= dC;
   }    }
 + 
   xp->color = GRAPH_COLOR_ARGB16;        // カラーモード    xp->color = GRAPH_COLOR_ARGB16;        // カラーモード
 + 
   ////////////////////////////////////////​/    ////////////////////////////////////////​/
   // 処理コードはここまで    // 処理コードはここまで
   ////////////////////////////////////////​/    ////////////////////////////////////////​/
 + 
   return xp;    return xp;
 }  }


トップ   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 5月翌月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
<今日>

オンライン状況

98 人のユーザが現在オンラインです。 (17 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 98

もっと...

アクセスカウンタ

今日 : 6378637863786378
昨日 : 1716817168171681716817168
総計 : 2350283923502839235028392350283923502839235028392350283923502839
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com