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 MonthJul 2025Next 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 31
Today

Who's Online

109 user(s) are online (7 user(s) are browsing xpwiki)

Members: 0
Guests: 109

more...

Access Counter

Today : 1494149414941494
Yesterday : 2190021900219002190021900
Total : 2735357227353572273535722735357227353572273535722735357227353572
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com