Juliamengenprogramm
Verfasst: Samstag 23. Juni 2007, 17:23
Wollte hier noch mein Python-Opengl-Programm vorstellen, das ich geschrieben habe. Das mit der Farbabstufung habe ich noch nicht so richtig hinbekommen, aber die Form ist schon die richtige.
Code: Alles auswählen
#! /usr/bin/env python
from OpenGL.GLUT import *
from OpenGL.GLU import *
from OpenGL.GL import *
import sys
import math
name = 'pythonjulia'
def main():
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
glutInitWindowSize(400,400)
glutCreateWindow(name)
glClearColor(0.0,0.0,0.0,1.0)
glutDisplayFunc(display)
glutMainLoop()
return
def display():
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
color = [1.0,0.0,0.0,1.0]
pixel = 400
min = -2.0 + -2.0j
step = 0.01+0.01j
c1real = 0.0
c1imag = 0.0
for y in range(pixel-1, 0,-1):
for x in range(0,pixel-1):
c1real = min.real + x*step.real
c1imag= min.imag + y*step.imag
c3 = complex(c1real,c1imag)
if abs(c3) < 2.0:
c2 = 0.0+0.0j
glBegin(GL_POINTS)
for n in range(0,120):
if abs(c2)<2.0:
c2 =c2*c2 + c3
else:
if n < 40:
glColor3f( n/120,0.0 ,(3*n)/120)
glVertex2f(c1real/2.0,c1imag/2.0)
break
elif n<=80:
glColor3f(float (n/120),float((3*n)/120),float(n/120))
glVertex2f(c1real/2.0,c1imag/2.0)
break
else:
glColor3f( 0.0,float(n/120),float((3*n)/120))
glVertex2f(c1real/2.0,c1imag/2.0)
break
glEnd()
glFlush()
glutSwapBuffers()
return
if __name__ == '__main__': main()