平面计算机

03.动画

*爱你&永不变心* 提交于 2019-12-02 18:19:56
import pygame import sys from pygame.locals import * pygame.init() # 帧速率(frame rate)或刷新速率(refresh rate)是程序每秒钟绘制的图像的数目, # 用FPS或帧/秒来度量(在计算机显示器上,FPS常见的名称是赫兹。很多显示器的帧速率是60Hz,或者说每秒60帧)。 # 视频游戏中,较低的帧速率会使得游戏看上去抖动或卡顿。 # 如果游戏包含的代码太多了,以至于无法运行来频繁地绘制到屏幕上,那么,FPS会下降。 FPS = 30 fpsClock = pygame.time.Clock() DISPLAYURF = pygame.display.set_mode((400, 300), 0, 32) pygame.display.set_caption('Animation') WHITE = (255, 255, 255) catImg = pygame.image.load('cat.png') # 将图像(精灵)加载到Surface对象上,返回一个Surface对象 catx = 10 caty = 10 direction = 'right' while 1: DISPLAYURF.fill(WHITE) if direction == 'right': catx += 5 if

02.绘制函数

流过昼夜 提交于 2019-12-02 18:13:40
import pygame import sys from pygame.locals import * pygame.init() DISPLAYSURF = pygame.display.set_mode((500, 400)) # 返回Surface对象 pygame.display.set_caption('Drawing') BLACK = (0, 0, 0) WHITE = (255, 255, 255) RED = (255, 0, 0) GREEN = (0, 255, 0) BLUE = (0, 0, 255) DISPLAYSURF.fill(WHITE) # fill(color)是pygame.Surface对象的一个方法,color参数来填充整个Surface对象 # 多边形是由多个扁平的边所组成的形状。Surface和color参数告诉函数,将多边形绘制到哪一个Surface上,以及用什么颜色绘制。 pygame.draw.polygon(DISPLAYSURF, GREEN, ((146, 0), (291, 106), (236, 277), (56, 277), (0, 106))) # 划线开始,结束位置,边框宽度 pygame.draw.line(DISPLAYSURF, BLUE, (60, 60), (120, 60), 4) # 圆,圆点

TPO1-1 Groundwater

前提是你 提交于 2019-12-01 20:43:47
If the pores are large,the water in them will exist as drops too heavy for surface tension to hold,and it will drain away;but if the pores are small enough,the water in them will exist as thin films,too light to overcome the force of surface tension holding them in place;then the water will be firmly held. If the pores are large,the water will exist as (too heavy for surface tension to hold) drops,and it will drain away;but if the pores are small enough,the water will exist as (too light to overcome the force of (holding them in place)surface tension ) thin films;then the water will be (firmly

8核AMD Zen加持:微软Surface这回血拼

浪尽此生 提交于 2019-12-01 12:32:13
微软定于10月2日在纽约举办Surface新品发布会,几乎全线消费级产品都将更新,比如15英寸Surface Laptop 3。 最新爆料称,15寸Surface Laptop 3预计一口气推出6款型号,其中顶配为8核AMD处理器、16GB RAM。 不过,无论是35W标压还是15W低压,AMD目前并未有用于笔记本的8核CPU,有猜测真身会是EPYC Embedded 3000系列嵌入式处理器。以霄龙嵌入式3251为例,8核16线程,2.5/3.1GHz,热设计功耗25~55W。 但是需要注意的是,EPYC Embedded 3000并未集成GPU,换言之,Surface Laptop 3为此还要装配独立显卡。 至于Laptop 3的其余SKU,则搭载4核AMD Ryzen 5 3550U和Ryzen 7 3750U,匹配8GB RAM;还有一款6核型号,匹配12GB RAM。 有趣的是,在微软美区商店,Surface Laptop 2已经全线告罄。 本文转自: https://news.mydrivers.com/1/648/648920.htm 来源: https://www.cnblogs.com/it-artical/p/11685808.html

Notes and hints for Assignment

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-30 22:53:22
Notes and hints for Assignment 3 Ray tracing onto a plane The equation for a planar 2D surface oriented into 3D space is: a(x − xc) + b(y − yc) + c(z − zc) = 0 where (xc, xc, xc) are the coordinates of the corner of the plane and (a, b, c) are the directional components of the plane surface normal vector. It is convenient to write this in vector form (note this will work in homogeneous as well as Cartesian coordinates) N · (P − Pc) = 0 A vector starting at point P0 and running through point P1 can be described parametrically as P = P0 + t(P1 − P0) We want the value of t such that this vector

CIVL3431[6431*] – Land Surface Processes and Management

∥☆過路亽.° 提交于 2019-11-30 16:30:47
CIVL3431[6431*] – Land Surface Processes and Management Assignment 2 – Hydrologic Modelling and Sensitivity Analysis 30 % [24%*] Due: 27th September Friday 5 pm This assignment uses a simple lumped rainfall-runoff model, consisting of two storage ‘buckets’ (see Fig 1). Model description: Figure 1: Bucket Model Figure 2: Change of Runco The upper storage represents a small interception canopy (depth = INT), where rainfall is intercepted. When this store is full, any excess moisture (throughfall, TF) enters the soil moisture bucket. The amount of excess rainfall (TF) infiltrates into the soil

状态类

淺唱寂寞╮ 提交于 2019-11-29 21:43:45
先定义一个State 基类, 按照上面说的状态需要的三个操作分别定义函数(startup, update, cleanup)。在 init 函数中定义了上面说的三个变量(next,persist,done),还有start_time 和 current_time 用于记录时间。 class State(): def __init__(self): self.start_time = 0.0 self.current_time = 0.0 self.done = False self.next = None self.persist = {} @abstractmethod def startup(self, current_time, persist): '''abstract method''' def cleanup(self): self.done = False return self.persist @abstractmethod def update(sefl, surface, keys, current_time): '''abstract method''' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 看一个状态类LoadScreen的具体实现,这个状态的显示效果如图3。 startup

写给要买Surface的各位兄弟

我只是一个虾纸丫 提交于 2019-11-29 19:27:12
周六,参加北京的开发者马拉松活动,北京现场人超多,我一个上午是在微软中关村大楼一层大厅的沙发上坐着的。想不明白微软为什么不换一个大的会议室,最近微软的很多推广活动搞得都很糟,比如上次的抽奖居然超过一半都是活动组织和工作相关人员的这类事就不再多说了。于是,下午,顶着大雨,跟老婆跑了三家苏宁,纠结了好久,痛下心来买了一个。以下就是自己的一些经验之谈,纯属个人偏见,各位仅供参考之用。 购买 目前比较靠谱的方式就是在苏宁买。科技城不好说,中关村一个旮旯里出现了所谓的微软店,但是比苏宁店贵200块钱。 我逛了三家苏宁店,销售surface的位置都很明显,不过站台周围没有销售人员,你得自己叫他们过来。 另外找个靠谱的地图搜索苏宁店的位置,比如百度地图,我在腾讯地图里居然显示在中关村没有苏宁店。 所有的苏宁店都没有不带键盘的,你要买就只能最低买4488这款。不过我看到在苏宁网店提示说不带键盘的有货,各位可以试一下。 另外店铺没有贴膜,可以在苏宁网店买,79。效果一般。而且只能自己贴。 外观 重量和厚度跟IPAD肯定没法比,但我觉得不耽误使用,毕竟上面跑的是windows,但我觉得某些再重量和厚度上的牺牲是值得的。 支撑架我觉得有点纠结,这东西坏了之后肯定没得修。 另外有兄弟反应掉漆的情况,我没有遇到,不过从回帖的数量上来看还是有不少。买的时候需要注意。 总体来说外观给人很专业的感觉

WindowManager和WindowManagerService的简单接触

和自甴很熟 提交于 2019-11-29 18:30:23
WindowManager和WindowManagerService的简单接触 学了一下悬浮窗的创建,随手翻阅了一些关于window类,windowmanager以及WindowManagerService的博客,也参考了《Android内核剖析》和《Android开发艺术探索》之后对此也有了一些认识,简单的记录一下。 WindowManager用来访问Window类的入口。 WindowManagerService 是 Android中图形用户接口的引擎,主要负责管理所有窗口(添加,更新,删除)。也就是说Android系统要想创建一个窗口都必须经由windowManagerService的批准。 《Android开发艺术探索》需要简单的描述一下: WindowManager是一个接口,真正实现类似WindowManagerImpl类。 wManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);的强制转换可以看出。 所以windowManager.addView( )和updateViewLayout( )以及removeView( )也是由WindowManagerImpl来完成的,有意思的是他也委托WindowManagerGlobal类来完成最后的处理。(一个比一个懒,开玩笑)

Android Surface-GraphicBuffer-BufferQueue

放肆的年华 提交于 2019-11-28 22:25:30
Android的UI控件最终在Surface上进行绘制;Surface要进行绘制,需要申请显存,绘制,提交显存进行显示。 申请显存 Android的显存由两个部分表示,对APP的接口体现为Surface(native/libs/gui/Surface.cpp),对graphics部分(CPU/GPU/OPENGL)体现为GraphicBuffer。 Surface说明 Surface本身有两个含义,一个是代表UI系统的Canvas,另一个是代表本地window系统,为跨平台的OPENGL(EGL)提供接口。 UI一般基于Canvas绘制,参考UI的始祖View的draw函数: public void draw(Canvas canvas) 所有UI控件继承自View,都会基于Canvs来绘制自己;UI组件的draw是谁触发的,canvas是怎么创建的?这些秘密在ViewRootImpl里面,每个Activity在setContentView之后,系统会为其创建一个ViewRootImpl对象,该对象代替Activity管理其view系统,并和window系统建立关联(Activity的window就是在该类中创建的),并且ViewRootImpl会建立和SurfaceFlinger的连接,监听SurfaceFlinger的VSYNC信号,一旦VSYNC信号发生