Пример P10_2 |
Автор: Administrator |
13.04.2011 12:37 |
Графический модуль для платформы S60,который существенно сокращает предыдущие скрипты связанные с построением графиков.
В приводимом ниже скрипте с помощью модуля grf1.py осуществляется построение графика функции одного переменного с возможностью прокрутки вдоль оси x (для прокрутки используется джойстик -стрелки "left","right") import appuifw,e32 from math import* from key_codes import* from grf1 import* list=[(u'\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e y=f(x)','text',u'sin(x)'),(u'\u041b\u0435\u0432\u0430\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430 a=','text',u'0'),(u'\u041f\u0440\u0430\u0432\u0430\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430 b=','text',u'pi'),(u'\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u043e\u0447\u0435\u043a \u0433\u0440\u0430\u0444\u0438\u043a\u0430 n=','text',u'1500')] form=appuifw.Form(list, appuifw.FFormDoubleSpaced) form.execute() e32.ao_yield() a1,b1,f1=form[1][2],form[2][2],form[0][2] n=eval(form[3][2]) a,b=float(eval(a1)),float(eval(b1)) f=lambda x:eval(f1) appuifw.note(u'enter left or right') def Lft(): global a,b c.clear() Grf(a,b,n,f).run() a-=(b-a)/5. #b-=(b-a)/5. c.text((30,300),u'y='+f1,font=(u'NokiaS60',13,appuifw.STYLE_BOLD)) def Rgt(): global a,b c.clear() Grf(a,b,n,f).run() #a+=(b-a)/3. b+=(b-a)/5. c.text((30,300),u'y='+f1,font=(u'NokiaS60',13,appuifw.STYLE_BOLD)) c.bind(EKeyRightArrow,Rgt) c.bind(EKeyLeftArrow,Lft) def exit(): app_lock.signal() appuifw.app.exit_key_handler=exit app_lock=e32.Ao_lock() app_lock.wait() ( 2 Votes ) |
Обновлено 28.04.2011 10:08 |