国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java 中分形圖的幾種方法詳解

Java 中分形圖的幾種方法詳解

2020-11-29 11:47Java教程網 Java教程

這篇文章主要介紹了Java 中幾種分形的方法詳解的相關資料,需要的朋友可以參考下

Java分形

Java的分形主要有一下幾種:

1.類似Clifford的分形。這種分形的特點是:分形的初始坐標為(0,0),通過初始坐標經過大量的迭代,得到一系列的點,根據得到的點來繪制分形曲線。這類分形的參數有限,可以很簡單的實現。

2.類似IFS fern這樣的分形。這種分形比上一種分形具有更多的參數,值得注意的是IFS fern分形的參數列表中有一項P值,該值表示的是各組不同的參數應該出現的概率,如果這個值沒用上是無法得到想要的圖形的。

3.類似Mandelbrot這樣的分形。這種分形涉及到了復數的知識,以及時間逃逸算法。本質上是復平面上一系列點的集合,用時間逃逸算法來確定點是否在集合內,得到一系列的點,根據這些點來繪制圖形。

4.類似L-System Sticks這樣的分形。這類的分形需要定義母串,以及演變的規則,通過不同的母串和演變規則的到的點來繪制圖形。演變規則和母串等的理解并不難,主要是涉及了坐標之間的變換較為難以計算。

下面是一段關于Mandelbrot分形的代碼。

?
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
/**
 * 復數類
 * @author CBS
 */
public class Complex {
  
  public double r;
  public double i;
  
  public Complex(double real,double image){
    this.r=real;
    this.i=image;
  }
  //取復數的模
  public double modulus(){
    return Math.sqrt(r*r+i*i);
  }
  //復數的加法
  public Complex add(Complex z){
    double addr=r+z.r;
    double addi=i+z.i;
    return new Complex(addr,addi);
  }
  //復數的乘法
  public Complex mul(Complex z){
    double mulr=r*z.r-i*z.i;
    double muli=i*z.r+r*z.i;
    return new Complex(mulr,muli);
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
// 求最大的迭代次數的算法,時間逃逸算法
  public int mand(Complex z, int maxIte) {
    Complex curComp = new Complex(0, 0);
    for (int i = 0; i < maxIte; i++) {
      if (curComp.modulus() > 2)
        return i;
      curComp = curComp.mul(curComp).add(z);
    }
    return maxIte;
  }
<br>
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 畫圖的算法
  public void drawMand(Complex z, double scale, int MaxIte) {
    double pixUnit = 3 / (1080 * scale);
    double startx = z.r - 1080 * pixUnit / 2;
    double starty = z.i - 720 * pixUnit / 2;
 
    for (int i = 0; i < 1080; i++) {
      for (int j = 0; j < 720; j++) {
        double x0 = startx + i * pixUnit;
        double y0 = starty + j * pixUnit;
        Complex curComplex = new Complex(x0, y0);
        int time = mand(curComplex, MaxIte);
        if (time == MaxIte) {
          double x = x0 * 150 + 500;// 擴大出現方格
          double y = y0 * 150 + 500;
          g.drawLine((int) x, (int) y, (int) x, (int) y);
        }
      }
    }
  }

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日韩精品一区二区三区 | 免费视频国产 | 欧美成人一区二免费视频软件 | 天堂久久久久久 | 亚洲精品久久久久久下一站 | 精品在线观看一区 | 欧美午夜影院 | 国产精品九九九 | 中国大陆一级毛片 | 欧美日韩国产不卡 | 欧美成人a∨高清免费观看 亚洲国产精品尤物yw在线观看 | av久久 | 97国产一区二区精品久久呦 | 日韩成人影院 | 日韩欧美国产一区二区 | 特黄特黄aaaa级毛片免费看 | 亚洲尤物在线 | 色播开心网 | 先锋av在线资源 | 麻豆一区二区三区 | 国产精品成人国产乱一区 | 中文字幕亚洲一区 | 精品一区二区三区在线观看 | 亚洲一区二区av | 亚洲国产中文字幕 | 狠狠久 | 中文字幕三区 | 日本在线免费 | 黄大片在线观看 | 在线视频一区二区三区 | 理论影院 | 成人一级黄色大片 | 欧美日韩一区二区三区免费视频 | 国产一区二区三区久久 | 亚洲欧美日韩在线 | 国产成人精品一区二区三区四区 | 久久久久综合 | 国产精品国产三级国产aⅴ中文 | 精品国产91亚洲一区二区三区www | 亚洲网视频 | 欧美日韩国产一区 |