表面粗糙度与机械零件的配合性质、耐磨性、疲劳强度、接触刚度、振动和噪声等有密切关系。在图纸上,表面粗糙度一般用Ra值来表示。 表面粗糙度越小,则表面越光滑。 那么,零件的表面粗糙度值越小越好吗?...当然不是的。 粗糙的零件表面可能会影响机械产品的使用寿命和可靠性,但过于追求表面光滑,会导致加工成本的增加。表面粗糙度参数值的选用,应该既要满足零件表面的功能要求,又要考虑经济合理性。...因此,表面粗糙度参数值选取的总则是在满足零件表面功能要求的前提下,尽量选取较大的参数值。一般选择原则如下: 01. 同一零件上,工作表面比非工作表面的表面粗糙度参数值要小些。 02....摩擦表面比非摩擦表面的粗糙度参数值要小些;滚动摩擦表面比滑动摩揍表面的表面粗糙度参数值要小些;运动速度高、单位压力大的摩擦表面比运动速度低、单位压力小的摩擦表面的粗糙度参数值要小。 03....配合性质要求高的结合表面,配合间隙小的配合表面以及要求连接可靠、受重载的过盈配合表面等,都应该取较小的表面粗糙度参数值。 05.
JavaScript判断两个json是不是相同的 原理 暴力的递归遍历对比,遇到不相等就return false code: let jsonObjA = { "Name": "MyName
前面说过pygam.image.load()会返回一个surface对象,这个对象有一个blit方法,这个方法有两个参数,一个是加载完成的位图,第二个参数是绘制起始坐标。...---- pygame加载音乐 1:导入pygame库,并且初始化声音播放模块 import pygame pygame.mixer.init() 2:pygame提供了两个加载音乐文件的方法 pygame.mixer.Sound...pygame.surface.copy — 创建一个新的表面复制 pygame.surface.fill — 表面用纯色填充 pygame.surface.scroll — 在地方的表面形象转换...— 得到表面的宽度 pygame.surface.get_height — 得到表面高度 pygame.surface.get_rect — 得到表面的矩形区域 pygame.surface.get_bitsize...如果不加这个事件循环的话,那么窗口程序运行会出现一点卡顿的现象 ---- 文字的使用 pygame提供了字体处理,但是对中文的支持貌似不是很好!
设置显示表面 从这里开始,我们需要设置我们的游戏显示表面。我们将使用pygame.display.set_mode()来初始化窗口或屏幕进行显示并将其传递给变量。...更新显示 接下来,我们需要使用两个可用函数之一来更新游戏表面的显示。 动画通常是随着时间的推移在不同帧之间的变化。在考虑动画时,您可能会想到一本翻书,因为它们包含一系列从一页到下一页逐渐变化的图像。...在计算机游戏中,使用帧而不是页面。...让我们将这两个循环和print()语句添加到我们的程序文件中: import pygame from pygame.locals import * pygame.init() display_width...由于我们已经导入了pygame.locals,我们可以唤起event.type并像之前一样QUIT(而不是pygame.在这些前面)。
pygame.draw.aalines 绘制多个连续的直线抗锯齿线段 在表面绘制几个简单的形状。...渲染到硬件表面将比常规软件表面慢。 大多数函数使用width参数来表示形状边缘周围的笔划(粗细)大小。如果宽度为0,则将填充形状(实线)。 所有绘图功能都遵循表面的剪辑区域,并将限制在该区域。...int) (可选)用于线条粗细或表示要填充矩形(不要与rect参数的宽度值混淆) 如果 width == 0 (默认)则填充内部 如果 width > 0 则表示线条粗细 如果使用width,边框的宽度不是很好控制...(不要与rect参数的宽度值混淆) 如果 width == 0 (默认)则填充内部是实心的内部全部填充颜色 如果 width > 0 则表示线条粗细,空心的代表线条宽度 如果使用width,边框的宽度不是很好控制...绘制一个园 圆(表面,颜色,中心,半径) - >矩形 圆(表面,颜色,中心,半径,宽度= 0) - >矩形 参数: 表面:与矩形相同 颜色:与矩形相同 中心:元祖或列表指定一个点作为园的中心 半径:
开始用Pygame 安装Pygame Pygame不是内置模块,需要安装: pip install pygame 然后新建文件,输入 import pygame 运行后,出现版本信息,则安装成功。...pygame.display.update() clock.tick(60) # 不超过60 fps 通过表面显示图像 display image by surface 有两种表面:显示表面(...显示表面是游戏窗口,所有东西都通过它显示。只有一个。 常规表面可能是一个图像,需要在显示表面上才会显示。可以有很多个。...坐标系 注意,Pygame中的坐标系和高中的坐标系有些不同 Pygame中的原点在左上角。 纯色表面 现在,让我们在窗口中添加一个surface,显示红色方块。.../Sky.png') 文字表面 创建文字表面的三个步骤:1.创建字体(font) 2.在表面上写文字 3.将表面放到显示表面上 test_font = pygame.font.Font('font/
然后我们使用渲染来创建一个背景表面,每当我们的分数更新时,我们就会改变它。 为文本表面对象创建一个矩形对象(文本将在此处刷新) 然后,我们使用blit显示我们的分数 。...blit需要两个参数screen.blit(background,(x,y)) # 初始分数 score = 0 # 显示评分功能 def show_score(choice, color, font..., size): # 创建字体对象 score_font score_font = pygame.font.SysFont(font, size) # 创建显示表面对象 core_surface...然后我们创建文本表面来渲染乐谱。 之后,我们将设置文本在可播放区域中间的位置。 使用blit显示分数并通过使用 flip() 更新表面来更新分数。...change_to = 'RIGHT' # 如果同时按下两个键 # 我们不想让蛇同时向两个方向移动 if change_to == 'UP' and direction !
,我们可以用下面的语句捕捉到这个生成的表面: sur=pygame.Surface((600, 400) 这样,sur就是我们生成的表面了。...我们需要画面的圆每隔n帧再随机变换一次,而不是现在的每帧都随机变。...鼠标指针变锤子 现在窗口中显示的仍然是鼠标,而不是锤子,下面我们来看如何把鼠标变为一个特定的图形。...image 使用动态图片 地鼠和锤子各有两个状态,正常的地鼠和被击打的地鼠,正常的锤子和砸下的锤子,如下图所示(下图无法直接使用,请从网盘下载): ?...网盘里面有一个地鼠图标icon.ico Additional Files附加文件,点击Add Files按钮要把全部用到的字体、图片、声音都选择 CONVERT .PY TO .EXE点击这个按钮进行生成,生成后会变为两个蓝色按钮
既然选择yes和no都有问题,那么是不是就无解了呢?...忘记了自己的目标 其实并非是只有yes和no两个选择,就好像新手司机需要横跨两个城市,但是一年实习期并不能上高速,但是即使是跑高速公路失败,难道就没有其他的选择吗?不走高速,难道你就不能出行了?
') # 将玩家的初始坐标存储在两个变量中,即 x 和 y x = 100 y = 100 # 创建一个变量来存储玩家移动的速度 velocity = 12 # 创建无限循环 run = True...if event.key == pygame.K_DOWN: y += velocity # 将表面对象绘制到屏幕上 pygame.display.update...') # 将玩家的初始坐标存储在两个变量中,即 x 和 y x = 100 y = 100 # 创建一个变量来存储玩家移动的速度 velocity = 12 # 创建无限循环 run = True...() 函数用于水平、垂直翻转表面对象。...将玩家的初始坐标存储在两个变量中,即 x 和 y x = 100 y = 100 # 创建一个变量来存储玩家移动的速度 velocity = 12 # 创建无限循环 run = True while
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document...
update:只想更新屏幕的一部分时,使用这个函数而不是flip。...set_caption:设置Pygame程序的标题。函数set_caption主要用于游戏在窗口中运行(而不是以全屏模式运行)时,因为标题将用作窗口的标题。...4.5 pygame.sprite 模块pygame.sprite包含两个非常重要的类:Sprite和Group。 Sprite类是所有可见游戏对象(在这个项目中,是香蕉和重16吨的铅锤)的基类。...使用诸如Pygame等新工具开发程序时,应让第一个原型尽可能简单,并将重点放在学习新工具的基本知识,而不是程序本身的细节上。这样做通常大有裨益。...使用pygame.display.get_surface获取屏幕表面,使用方法fill以白色填充屏幕表面,再调用pygame.display.flip现实所做的修改。 2) 加载铅锤图像。
基本的游戏开发经验会有所帮助,但这不是必需的。...您将学到的东西如下: pygame 基础 matplotlib 集成 表面像素数组 人工智能 动画 OpenGL Pygame Pygame 是 Python 框架,最初由 Pete Shinners...pygame.display.set_mode((400, 300)) 此函数创建一个要使用的所谓的Surface对象。 我们给这个函数一个表示表面尺寸的元组。...pygame.display.update() 此函数刷新表面。 动画 大多数游戏,甚至是最静态的游戏,都有一定程度的动画效果。...涉及的函数需要点列表,颜色(将其绘制为红色)和表面: pygame.draw.polygon(screen, (255, 0, 0), polygon_points[i]) 结果是每个群集的一堆多边形,
update:只想更新屏幕的一部分时,使用这个函数而不是flip。...set_caption:设置Pygame程序的标题。函数set_caption主要用于游戏在窗口中运行(而不是以全屏模式运行)时,因为标题将用作窗口的标题。...2.5.pygame.sprite 模块pygame.sprite包含两个非常重要的类:Sprite和Group。 Sprite类是所有可见游戏对象(在这个项目中,是香蕉和重16吨的铅锤)的基类。...---- 4.初次实现 使用诸如Pygame等新工具开发程序时,应让第一个原型尽可能简单,并将重点放在学习新工具的基本知识,而不是程序本身的细节上。这样做通常大有裨益。...使用pygame.display.get_surface获取屏幕表面,使用方法fill以白色填充屏幕表面,再调用pygame.display.flip现实所做的修改。 (2)加载铅锤图像。
:(左,中央 Y) myRect.midtop 两个整数的元组:(中央 X,顶部) myRect.midbottom 两个整数的元组:(中央 X,底部) 基本绘图函数 Pygame 提供了几个不同的函数来在表面对象上绘制不同的形状...surface和color参数告诉函数在哪个表面上绘制多边形,以及用什么颜色绘制它。 pointlist参数是一个点的元组或列表(即,XY 坐标的两个整数元组或列表)。...在第二次点击时,值将是这个元组而不是None,这是程序跟踪到第二个图标点击的方式。第 63 行用背景颜色填充整个表面。这也会覆盖表面上原来的任何东西,这给了我们一个干净的板子来开始绘制图形。...返回这个元组而不是简单地返回None,是因为getBoxAtPixel()的调用者期望返回两个值的元组。...(尽管drawTile()自己调用render()和get_rect(),因为它通过中心点而不是左上角点定位文本表面对象,并使用透明背景颜色。)
pygame移动图形 上篇说到绘制图形,今天我们把绘制的图形进行移动! 说起移动图形,我们需要了解下相关的知识! 绘制的参数里面第一个是绘制的 “表面”; 水平是X轴, 垂直是Y轴, ?...这个“表面”我们可以当做一个画布,我们在上面绘制我们需要的形状; ? 绘制完成后,我们更新下画板图像就展现在我们面前了。...但是 如果我们只是在pygame中重新移动方块则实际效果不是我们看到的效果。 ? 其实就是我们在绘制一个一个的方块,并没有清除上一个方块,这样就形成了图上我们看到的场景。...screen = pygame.display.set_mode(win) # 设置当前窗口标题 pygame.display.set_caption('绘制基础图像!')...() # clock. def main(): # 初始化导入的pygame中的模块 pygame.init() rungame() if __name__ == "
() return 注意,我们使用了两个 Pygame 模块:pygame.display和pygame.event。...重复调用display.init()无效,因为 Pygame 仅适用于单窗口应用。 Pygame 窗口的绘图表面类型为pygame.Surface。...修改应用 让我们将cameo.py文件修改为使用PygameWindowManager而不是WindowManager。...例如,Pygame 可能是使用计算机视觉的游戏的合适后端,而 HighGUI 则不是。...在 Windows 上 Windows 上的两个可执行文件称为ONopencv_createsamples.exe和ONopencv_traincascade.exe。 它们不是预建的。
6-旋转 当我们想要旋转一个图片的时候, 我们可以使用pygame.transform.rotozoom获得旋转后的图片: kitten = pygame.transform.rotozoom(kitten...为了解决这个问题,我们每次旋转的时候,都使用原始图片的副本,而不是使用上一次旋转后的图片。...但如果显示rgb表面时,会看到黑色背景。 纯色图片旋转时出现黑色背景 kitten = pygame.Surface((200,200)) kitten.fill((255,0,0)) ......import sys import pygame pygame.init() clock = pygame.time.Clock() width, height = 800, 600 # Display...") #pygame.Surface((200,200), pygame.SRCALPHA) #kitten.fill((255,0,0)) kitten = pygame.transform.scale
pygame矩形区域 上篇说到移动基本图形,这次来说下矩形区域的操作。 在pygame中矩形区域这个类比较特殊,在游戏中,所有可见的元素都是以矩形区域来描述位置。...任何需要Rect参数的pygame函数也接受这些值中的任何一个来构造Rect。这使得动态创建Rects更容易作为函数的参数。 官网说的不是很懂。。...我们常用到的没有那么多,通常用到就是创建矩形区域对象 pygame.Rect用于存储直角坐标的pygame对象Rect(左,顶,宽,高) - > RectRect((左,上),(宽,高)) - > RectRect...(object) - > Rect 矩形区域创建后并不会在表面显示,不跟绘制基本图形一样,创建后直接在表面绘制成像。...如果两个矩形不重叠,则返回一个0大小的Rect。 union() 将两个矩形连接成一个 union(Rect) - > Rect 返回一个完全覆盖两个提供的矩形区域的新矩形。
如果未安装,可以通过pip安装: pip install pygame 初始化Pygame和设置游戏参数 接下来,我们初始化Pygame库,并设置游戏的基本参数,如屏幕大小、字体样式和大小等。...接下来,我们定义一个包含英文字母的列表,并使用加载的字体来渲染这些字母为Pygame表面对象。...这些表面对象将在游戏循环中被绘制到屏幕上。...# 准备字母列表并渲染为pygame表面对象 letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'k', 'l', 'm',...# 填充背景颜色为半透明黑色 # 准备字母列表并渲染为pygame表面对象 letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
领取专属 10元无门槛券
手把手带您无忧上云