Grafik PIZiadas

Grafik PIZiadas

Benim dünyam inç olduğunu.

Recursive Fraktallar: Curva de Koch [JAVA]

curva-de-koch-triangulo-completo-150Biz denilen bir ilk program gördük “DrawWorld” JAVA programlama grafik odaklı bize tanıtan. Bu modül programlama ilk görmemize yardımcı oldu fraktal recursive: Sierpisnki üçgeni.

Yeni bir temel özyinelemeli fraktal oluşturmak için bu temel program değiştirmek nasıl bir bakalım: La curva de Kuch.

(Ver como se genera un fractal recursivo)

Düz bir çizgiden yinelemeli yerleşik bir fraktal mı. Eşit iki kurarak Onun kenarları üç eşit parçaya ayrılır ve merkezi bölüm değiştirilir 60 Önceki ve her biri derece.

La Koch eğrisi, da kar tanesi olarak adlandırılan farklı yordamlar üzerinden alınan bir fraktal denir IFS o fonksiyon sistemleri tekrarlanır (deterministic veya değil), kural tabanlı sistemler, vb.

El recursive algoritma Ayrıca bir kavram için Fraktallar yakindan temsil erdem sahiptir: sonsuz. Özyineleme özünü kendi eğrisi çok basit bir şekilde anlatacağım sağlar. Bu ve diğer sırayla içeren bir evren modeli daha küçük bir ölçekte kopyalanan (büzülür yolu) sonsuz tekrarlanan bir sırayla.

Koch eğrisi grubuna ait olduğu. autosimilares fractal[1], hala deterministic türü alma yöntemi.

curva-de-koch-0

Başlatıcı

curva-de-koch-1

İlk yineleme

Fraktal boyut

La Boyut bir nesnenin hangi yerler veya nesneleri olarak sınıflandırılmış bir topolojik kavramdır metrik uzaylar. Alanlarda tüm boyutları ile sezgisel kavramı ile sözde fraktal boyut çarpıştı, Gerçek değerler alır..

La Peano eğrisi Uçak doldurma kapasitesine sahip bir eğri olduğu. Bu nedenle iki boyutu var mı??, soru.

Fraktal boyut pürüzlülük ile ilişkilidir, ya da parçalanma, bunların, Bu yüzden bir daha büyük boyutta bir pürüzlü veya pürüzlü görünüm sunacak. Ne olursa olsun onu karakterize karmaşıklığı hakkında bilgi verir.

Koch eğri bir ilişkisi vardır. s = 1/3, ile n = 4, Bu nedenle, fraktal boyut tarafından:

D = LN4 / LN3 ~ 1.269

Bu yeni segmentlerin her tekrar bölünmüş ise ardışık eğrisi Hoch elde edilir

curva-de-koch-2

curva de Koch para n = 2

.

curva de koch para n=3

curva de Koch para n = 3

curva de koch para n=4

curva de koch para n = 4

Biz üç satır kullanırsanız, yerine bir başlatıcı daha, eşkenar üçgen klasik kar tanesi şeklinde görünür, bu yapılandırma Fraktal bilinmektedir adı.

curva-de-koch-triangulo

curva de koch : copo de nieve

Jeneratör algoritması

Se ha definido una función “paintRecursivo” (que se llama desde el método “paint”) Biz çizgi puan veya üçgen hatları geçirdi, así como el nivel de recursividad. Işlevi yeni segmentlerin köşeleri hesaplar, Yine özyineleme seviyesini düşürerek Şekil boya ve aramaları kendisi.

Böylece, Her işlev çağrısı yineleme değeri azalır, de forma que cuando éste es cero termina de efectuar la recursividad.

import java.applet.Applet;
import java.awt.Graphics;
/**
* @author José Juan Aliaga
*/
public class MainApp extends Applet {
 double xp1=300;
 double yp1=300;
 double xp2=10;
 double yp2=300;
 double sin60=Math.sin(3.14/3.);
 int nivel_de_recursividad=6;

 public MainApp() { }

 public static void main(String[] args) { }

 public void paint(Graphics g){
   paintRecursivo(g,nivel_de_recursividad,xp1,yp1,xp2,yp2);
 }

 private void paintRecursivo(Graphics g, int i, double xp12, double yp12, double xp22, double yp22 ) {
 double dx=(xp22-xp12)/3.;
 double dy=(yp22-yp12)/3.;
 double xx = xp12 + 3 * dx / dy 2.-* sin60;
 double yy = yp12 + 3 * dy / 2. + dx * sin60;
 if(i<=0){
      g.drawLine((int)xp12,(int)yp12,(int)xp22,(int)yp22);
 }
 else{
     paintRecursivo(g,i-1, xp12, yp12, xp12 + dx,yp12 + dy);
     paintRecursivo(g,i-1, xp12 + dx,yp12 + dy,xx,yy);
     paintRecursivo(g,i-1, xx,yy,Xp22-dx,yp22-dy);
     paintRecursivo(g,i-1, Xp22-dx,yp22-dy,Xp22, yp22);
 }
} }
JAVA

Curso JAVA