📄 mixing.py
字号:
#! /usr/bin/env python# Use Gouraud shading to mix colors. Requires Z-buffer.# It changes the color assignments so fast that you see white.# Left button pauses, middle rotates the square. ESC to quit.# Experiment with a larger window (too slow) or smaller window (really white).from GL import *from gl import *import DEVICEfrom math import *## tekenvlak : draw a square. with bgnpolygon#def tekenvlak (vc) : bgnpolygon() #vcarray (vc) for i in vc : c3f (i[1]) v3f (i[0]) endpolygon()## tekendoos : draw a box#def tekendoos (col) : v = [(-5.0,0.0,0.0),(0.0,5.0,0.0),(5.0,0.0,0.0),(0.0,-5.0,0.0)] vc = [(v[0],col[0]),(v[1],col[1]),(v[2],col[2]),(v[3],col[1])] tekenvlak (vc)## initialize gl#def initgl () : # # open window # foreground () keepaspect (1, 1) prefposition (100, 500, 100, 500) w = winopen ('PYTHON RGB') keepaspect (1, 1) winconstraints() # # configure pipeline (2buf, GOURAUD and RGBmode) # doublebuffer () zbuffer (1) shademodel (GOURAUD) RGBmode () gconfig () # # set viewing # perspective (900, 1, 1.0, 10.0) polarview (10.0, 0, 0, 0) # # ask for the REDRAW and ESCKEY events # qdevice(DEVICE.MOUSE2) qdevice(DEVICE.MOUSE3) qdevice(DEVICE.REDRAW) qdevice(DEVICE.ESCKEY)## the color black#black = 0## GoForIT : use 2buf to redraw the object 2n times. index i is used as # the (smoothly changing) rotation angle#def GoForIt(i) : col = [(255.0,0.0,0.0), (0.0,255.0,0.0), (0.0,0.0,255.0)] twist = 0 freeze = 1 while 1 : if freeze <> 0 : col[0],col[1],col[2] = col[1],col[2],col[0] # # clear z-buffer and clear background to light-blue # zclear() cpack (black) clear() # tekendoos (col) # swapbuffers() # if qtest() <> 0 : dev, val = qread() if dev == DEVICE.ESCKEY : break elif dev == DEVICE.REDRAW : reshapeviewport () elif dev == DEVICE.MOUSE2 and val <> 0 : twist = twist + 30 perspective (900, 1, 1.0, 10.0) polarview (10.0, 0, 0, twist) elif dev == DEVICE.MOUSE3 and val <> 0 : freeze = 1 - freeze# the main program#def main () : initgl () GoForIt (0)## exec main#main ()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -