proc kugel {radius} { set kante 10 set ::displayliste [glGenLists 1] glNewList $::displayliste GL_COMPILE for {set l 0} {$l <= 360} {incr l 5} { for {set b -90 } {$b <= 90} {incr b 5} { # Position im Bogenmaß set lr [expr {$l/180.0 * $::PI}] set br [expr {$b/180.0 * $::PI}] # Farbe für das nächste Element setzen set hue [expr {sin($br/3.0)}] eval glColor3f [hls2rgb $hue 1 1] # Dreieck einfügen glBegin GL_TRIANGLES glVertex3f [expr {$radius * cos($lr) * cos($br)}] \ [expr {$radius * sin($lr) * cos($br)}] \ [expr {$radius * sin($br)}] glVertex3f [expr {$radius * cos($lr) * cos($br)}] \ [expr {$radius * sin($lr) * cos($br) +$kante}] \ [expr {$radius * sin($br)}] glVertex3f [expr {$radius * cos($lr) * cos($br)}] \ [expr {$radius * sin($lr) * cos($br)}] \ [expr {$radius * sin($br) +$kante}] glEnd } } glEndList }