flagflag  
2: 2011-07-30 (Sat) 23:21:19 iseki source Cur: 2011-07-31 (Sun) 14:53:34 iseki source
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;
 }  }


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthNov 2024Next Month
Su Mo Tu We Th Fr Sa
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
Today

Who's Online

33 user(s) are online (9 user(s) are browsing xpwiki)

Members: 0
Guests: 33

more...

Access Counter

Today : 664664664
Yesterday : 3646364636463646
Total : 2450659324506593245065932450659324506593245065932450659324506593
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com