Hallo,
in den letzten zwei Tagen hab ich mich viel über das Thema Komplexe Zahlen informiert und viel über die Tollen zeichnungen ("Apfelmänchen", ...) gelesen.
Die komplexen Zahlen hab ich zwar nicht 100% verstanden, aber gut genug, um damit rechnen zu können. Wer denkt, dass er mir auf einfache weiße erklären kann, was das i genau zu bedeuten hat (außer i² = -1), darf es gerne versuchen .
Nun habe ich aber ein verständnissproblem bei den Juliamengen, ich weiß, dass eine komplexe zahl c konstant bleibt, während zN sich verändert. Nun verstehe ich leider nicht ganz, wie sich das genau verändert. Was ich schon habe, ist eine funktion, die mir eben bis zu einer bestimmten "tiefe" werte in die funktion zn²+c einsetzt:
doch einfach jeden wert, der bei der schleife rauskommt einzuzeichnen bringt ja anscheinend nicht das gewünschte ergebniss.
Nach dem ich mir ein paar Quellcodes angeschaut hab war ich nicht schlaufer, hier ist der Quellcode eines applets, wenn den jemand mal erklären könnte wäre es toll, (es geht nur um die logischen / mathematischen abläufe). Besonderes würde mich interessieren, wofür die zahl "47" hier steht und was check Zo genau prüft.
in den letzten zwei Tagen hab ich mich viel über das Thema Komplexe Zahlen informiert und viel über die Tollen zeichnungen ("Apfelmänchen", ...) gelesen.
Die komplexen Zahlen hab ich zwar nicht 100% verstanden, aber gut genug, um damit rechnen zu können. Wer denkt, dass er mir auf einfache weiße erklären kann, was das i genau zu bedeuten hat (außer i² = -1), darf es gerne versuchen .
Nun habe ich aber ein verständnissproblem bei den Juliamengen, ich weiß, dass eine komplexe zahl c konstant bleibt, während zN sich verändert. Nun verstehe ich leider nicht ganz, wie sich das genau verändert. Was ich schon habe, ist eine funktion, die mir eben bis zu einer bestimmten "tiefe" werte in die funktion zn²+c einsetzt:
Java:
CZahl zN = com;
for(int i= 0; i<deep; i++){
zN = (zN.qdr.add(c));
}
doch einfach jeden wert, der bei der schleife rauskommt einzuzeichnen bringt ja anscheinend nicht das gewünschte ergebniss.
Nach dem ich mir ein paar Quellcodes angeschaut hab war ich nicht schlaufer, hier ist der Quellcode eines applets, wenn den jemand mal erklären könnte wäre es toll, (es geht nur um die logischen / mathematischen abläufe). Besonderes würde mich interessieren, wofür die zahl "47" hier steht und was check Zo genau prüft.
Java:
import java.awt.*;
import java.applet.*;
public class Julia extends Applet {
double reC, imC;
public void init() {
setBackground(new Color(255,255,255));
}
// Zo-Werte checken nach Zn+1 = Zn^2 + C, C = const.
public int checkZo(double reZ_minus1,double imZ_minus1) {
double reZ,imZ;
int i;
for (i=0;i<47;i++) {
imZ=2*reZ_minus1*imZ_minus1+imC;
reZ=reZ_minus1*reZ_minus1-imZ_minus1*imZ_minus1+reC;
if (reZ*reZ+imZ*imZ>4) return i;
reZ_minus1=reZ;
imZ_minus1=imZ;
}
return i;
}
// Punkte berechnen und setzen
public void paint (Graphics g) {
double reZo, imZo, zelle=0.0065; // Ein Pixel = 0.0065
int x,y,iterationenZo;
Color colJulia = new Color(0,0,200); // Farbe Juliamenge
reC = -0.65175;
imC = 0.41850;
imZo=-0.96; // oberer Rand
for (y=0;y<300;y++) {
reZo=-1.5; // linker Rand
for (x=0;x<400;x++) {
if (checkZo(reZo,imZo)==47) {
g.setColor(colJulia);
g.drawLine(x,y,x,y);
}
reZo=reZo+zelle; // nächste Spalte
}
imZo=imZo+zelle; // nächste Zeile
}
}
}