- Registriert
- 11.05.07
- Beiträge
- 3.878
Code:
-(void)drawRect:(id)sender{
int Farbtiefe;
Farbtiefe=100;
float reC,imC,reZ,imZ,reZ_minus1,imZ_minus1,zelle,i;
float reZo,imZo; // Julia-Menge
zelle=0.0027; // Apfelmännchen=0.00425, Julia-Menge=0.0027
reC=-0.8; // Julia-Menge
imC=0.2; // Apfelmännchen=-2.10375, Julia-Menge=0.2
imZo=-1.3365; // Julia-Menge -1.3365
for(int y=0; y<=980;y++){ //980
reZo=-1.971; // Apfelmänchen reC=-3.1025; Julia-Menge reZo=-1.971;
for(int x=0; x<=1560;x++){ //1560
reZ_minus1=reZo; // Julia-Menge
imZ_minus1=imZo; // Julia-Menge
//reZ_minus1=0; // Apfelmännchen
//imZ_minus1=0; // Apfelmännchen
for(i=0;i<=Farbtiefe;i++){
imZ=2*reZ_minus1*imZ_minus1+imC;
reZ=reZ_minus1*reZ_minus1-imZ_minus1*imZ_minus1+reC;
if(reZ*reZ+imZ*imZ>4){
break;
}
reZ_minus1=reZ;
imZ_minus1=imZ;
}
NSBezierPath * path=[NSBezierPath bezierPath];
NSPoint startPoint={x,y};
NSPoint endPoint={x+1,y};
[path moveToPoint: startPoint];
[path lineToPoint: endPoint];
[[NSColor colorWithDeviceRed:i/Farbtiefe green:i/Farbtiefe blue:i/Farbtiefe alpha:1.0] set];
[path stroke];
reZo=reZo+zelle; // Apfelmännchen reC=reC+zelle; Julia-Menge reZo=reZo+zelle;
}
imZo=imZo+zelle; // Apfelmännchen imC=imC+zelle; Julia-Menge imZo=imZo+zelle;
}
}
erste Frage:
wie kann cih anstatt Linien zu zeichnen direkt irgendwelche Punkte einfärben?
zweite Fabre: wie soll ich die NSView-Methoden im gesamten Programm anordnen, damit mein RAM nicht permanent überladen wird?
dritte Frage:
was muss ich machen, damit diese Methode nciht immer ausgeführt wird, wenn das Programm gestartet wird, ich das FEnster bewege oder nur einmal auf den Imhalt klicke?
Danke
dort ist das gesamte Fenster ein Koordinatensystem, werde es mal so ausprobieren und dann den Umstieg auf Cocoa langsamer angehen lassen als geplant.