自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(315)
  • 收藏
  • 关注

原创 机器学习 --- Sklearn

记得先 import 标准化评估器(而不是标准化方法了)1.sklearn中内置了一些数据集供我们进行算法训练。

2024-03-07 08:36:21 424

原创 机器学习 --- 什么是机器学习

a.获取数据 b.进行数据预处理 c.特征工程 d.选择算法进行训练获得模型 e.模型评估(看模型好不好用) f.应用。1.在数据集中,输入到模型中的数据称为特征值,最终要预测的值是目标值。1.模型其实就是数据之间的规律。

2024-03-03 15:05:03 225

原创 Python学习 --- 面向对象

1.Python中创建类的关键字是 class。

2024-02-24 21:44:02 1252

原创 Python基础综合案例 --- 数据可视化

2.title_opts 是标题对象,legend_opts 是图例对象,其它同理 ---- 在对这些对象进行配置之前,我们需要引入配置它们的方法(函数/功能),这些方法在options模块中,该模块在pyecharts包中。(PS:json格式的数据转变为字典 / 列表中镶嵌字典的数据格式的数据的流程则是反过来的,即字符串形式转变回字典 / 列表中镶嵌字典的数据格式)第二种则是列表中嵌套字典的形式(只能嵌套字典,其它的不行)1.全局配置配置的是所有图标都有的东西,而局部配置配置的则是每个图表独有的东西。

2024-02-23 00:22:08 337

原创 Python学习 --- 异常,模块与包

原理:我们创建的每一个py文件(模块)都会内置一个 __name__ 变量(ps:变量默认值不是'__main__'),当我们在一个文件中开始运行程序时,该文件的__name__ 变量就会被赋值为'__main__',程序运行结束后再被改回默认值。使用前提:在包中的 __init__文件中创建__all__列表变量(不创建直接使用的话,则会将包中所有的模块都导入),创建后往列表中以字符串的形式填入要导入的模块名。使用方法:将需要使用的,模块中的方法/函数的方法名/函数名以字符串的形式存于该列表中。

2024-02-21 10:56:57 480

原创 Python学习 --- 文件操作

因为 \ 是转义字符,但我们需要的不是转义字符,而只是一个普通的 \,所以我们要在它前面再加一道 \ ,用转义字符来转义转义字符,使其变成普通的 \(这是一种方式,我们还有另外一种方式)1.read方法在调用完之后会生成一个指针,该指针指向被读取内容的结尾的后一位,下一次再调用read方法读取相同文件时,则会从上一次read方法标定的指针位置开始读取。3.readlines方法是依次读取文件中的所有行,并将读取到的行封装到一个列表中,每一行就是列表中的一个元素(字符串类型)

2024-02-18 17:55:54 453

原创 Python学习04 --- 函数进阶以及文件相关操作

根据位置一一对应,x,y,z分别对应返回值1,返回值2,返回值3(多个接收变量之间用逗号分隔开)2.函数作为参数时,是将代码的执行逻辑传入到另一个函数中,而不是将数据传入到另一个函数中。1.匿名函数也是函数,可以作为参数传给另一个函数。1.函数可以有多个返回值,返回值之间用逗号隔开。1.函数本身可以作为参数传给另一个函数。2.多个返回值之间的类型可以不同。二.lambda匿名函数。一.函数作为参数传递。

2024-02-17 09:34:15 205

原创 Python学习04 --- 数据容器:列表,元组,字符串,集合与字典

1.字符串转列表的时候 --- 会将字符串中的每一个字符依次取出作为列表中的元素(转元组同理)2.字典(dict)转列表时,只会取key 值作为列表元素,value值会被舍去(转元组,集合同理)3.数据容器转换为字符串的时候:全都保留,但全都变为字符4.字典的话必须得是键值对才能够转,否则就不能转1.容器排序函数 --- sorted() --- 有两个参数:a.被排序的容器,b.是否反向排序(默认为False)

2024-02-04 17:17:43 577

原创 Python学习03 -- 函数相关内容

1.if + not + bool类型 --- 如果bool为true则 if 接收到的是false,反之接收到的就是true。1.形式参数数量是不受限制的(参数间用,隔开),传实参给形参的时候要一一对应。1.上面展示了如何给函数添加说明文档 --- 通过多行注释的方式。1.全局变量必须在函数创建前定义后才能使用(都是先定义再使用的)\n --- 这个在print()函数中是换行符号。1.def --- 这个是定义函数的关键字。1.写None的时候要首字母大写!返回值 --- 函数返还的结果捏。

2024-02-01 21:19:21 299

原创 Python学习2 --- 第三章if语句,bool类型,for和while循环

1.从待处理数据集中按顺序取一次数据赋值给临时变量,然后对临时变量进行操作,操作完后再取下一个数据给临时变量,然后再进行操作 .... 直到数据取完为止。1.for循环又称为遍历循环,因为它会将数据集中的每个数据都处理一遍。1.用range函数创建数列的时候,数列中是不包含num本身的哦!2.在临时变量的那个位置,除了临时变量外还可以是我们已经创建的变量。1.多条件判断下,满足一个条件执行后去,其它的条件就不会再执行了。1.临时变量只在限定范围中使用,用完了理论上就没有了!1.step步进的默认值是 1。

2024-02-01 11:02:57 174

原创 Python论文学习 -- 第二章 --- Python基础知识

往type()函数中输入数据,它会返回数据的类型给我们,然后我们可以用print()函数将数据类型打出来。print(a , "asd" , c)输出的结果为 a变量对应的值 + asd + c变量对应的值。1.值得注意的是变量本身是没有类型的,它只是一个存储空间,用于存储各种类型的数据。1.大括号中变量是什么类型,变量放进来之后就是什么类型,不会被改变。1.能够使用+号进行拼接的只有字符串类型,其它的类型不可以哦。要想将字符串转为数字类型的前提是字符串中的内容是数字。1.拼接符号只有字符串才能用哦!

2024-01-30 11:47:35 262

原创 Unity --- UGUI --- Rect Transform(矩形变换) --- 锚点及其相关应用

a.锚点左右分离 --- 此时Pos X 失去意义,被Left和Right取代 --- Left的数值是UI物体的左边框与左半锚点的距离,Right就是UI物体右边框与右半锚点的距离。b.当一个UI物体的轴心点的坐标为(0,0)的时候,轴心点位于UI物体的左下角,为(1,1)的时候就是右上角(PS:轴心点坐标的两个值X,Y的取值范围可以大于1,也可以小于0)c.宽度,高度和略加改变后的x,y,z。Image UI 物体 --- 显示图片的UI物体 --- 其有一个关键的组件 --- Image组件 ---

2023-04-22 20:09:10 2800 1

原创 Unity --- UGUI(Unity Graphical user interface)--- Canvas画布

没错!是UI物体 --- 这些都是场景中存在的游戏物体1.选中UI后就会出现这么多的UI物体,选中任意一个UI物体后Unity就会自动在场景中创建该UI物体2.在创建一些UI物体前,如果没有创建Canvas画布物体的话,Unity会自动创建画布物体,并将这些UI物体作为画布物体的子物体创建 --- 如果强行将这些UI物体拉出来不作为子物体的话,Unity会报错3.还有一些UI物体则是作为单独的游戏物体创建1.在画布中操作UI游戏物体时,最好先选则上图中圈中的两个选项,这样能很好的方便我们进行操作。

2023-04-20 08:47:09 876 1

原创 Unity --- 枪类与子弹类的设计初探 与 Physics Material

1.创建了物理材质之后,会出现上面这么几个属性 --- 由上到下分别是:动态摩擦力,静态摩擦力,弹力,摩擦力合并,弹力合并。2.这两个属性的取值的意思如下:(以Bounce Combine为例)当两个物体相互接触时,物体受到的弹力 = Bounce Combine --- 若为Average则表示两个物体的弹力平均,Min就是选弹力最小的游戏物体,Multiply指受到的弹力等于二者的弹力相乘,Max则是受到的弹力是二者之间弹力的最大值(Fiction Combine同理)

2023-04-17 15:49:23 1048

原创 Unity --- 物理引擎 --- 触发器 与 碰撞器详解

1.碰撞阶段的三个方法都有一个参数 --- Collision other --- 这个参数的类型是碰撞器类 --- 当挂载该脚本的游戏物体a与其它具有碰撞器组件的游戏物体b发生碰撞时, 游戏物体b的碰撞器组件对象就会被传给三个方法中的引用参数 Collision other.注意碰撞三阶段与触发三阶段之间的 --- a.方法区别 b.方法的参数的类型区别(一个是Collision类名词碰撞,类中有一个Collider类型的引用;另一个是Collider类 名词碰撞器,它就是碰撞器类型)

2023-04-11 21:30:48 4247 2

原创 Unity --- 物理引擎 ---- 刚体RigidBody 与 碰撞器 collider

1.mass -- 质量 --- 下面有质量的取值范围如果场景中只有一个游戏物体的话,质量为多少都无所谓,但是当场景中具有多个游戏物体时,我们就需要根据实际情况给每一个游戏物体设置质量了 --- 毕竟你不可能让石头和羽毛一样重吧2.第二个属性drag 表示的是阻力(damping --- 衰减)--- 这个阻力指的是空气阻力下面这张图中有设置空气阻力属性的参考值。

2023-04-09 15:41:15 3279

原创 Unity --- 3d数学 --- 坐标系统

3.视口坐标系说白了就是比例坐标系,其左下脚为原点,右上角坐标为(1,1)也就是说x轴和y轴的值最大为1(无单位) --- 此时该坐标系中的坐标真实含义其实就是比例 --- 如(0.5,0.5) ---映射到屏幕坐标系就是 --- (屏幕坐标x轴*0.5,屏幕坐标y轴*0.5)1.屏幕坐标系的右上角的坐标为上面这个 --- x轴坐标是屏幕的宽度,y轴坐标是屏幕的高度 --- 获取高度和宽度的方法是通过Screen类+点操作符直接调用静态属性width和height。1.世界坐标系是固定不动的。

2023-04-08 20:00:28 1156

原创 Unity --- quaternion(四元数)类API

1.第三个方法 --- LookRotation() --- 该方法需要一个Vector3类对象(以向量的形式)作为参数 --- 该方法会返回一个四元数 ,返回的这个新的四元数能够使物体自身坐标系的Z轴向量会旋转到与方法给定的向量的方向一致。获取方式是通过调用Quaternion中的静态方法 --- FromToRotation来实现 --- 该方法需要两个参数 --- 向量a,向量b --- 调用该方法后可以获得一个四元数对应的旋转角度 = 从向量a转向向量b所需的角度。

2023-04-06 20:42:41 632

原创 Unity --- Vector3类的API讲解

我们最终的目的是获得动画曲线的y轴上的值来作为比例参数,且这个y轴上的值还必须随着时间变化 --- 那么实现这个需求就需要我们调用动画曲线中的放啊 -- Evaluate() --- 在给定该方法一个单精度浮点型参数之后(要求参数范围是0到1,一旦小于0/大于1,方法只会返回0/1),它就会在动画曲线的x轴上找到这个参数的位置,并将这个位置对应的y轴值返回。1.上面这个介绍的是Vector3中的一个静态方法 --- Project()方法,这个方法的作用是投影一个向量到另一个向量。

2023-04-04 21:53:03 1145

原创 Unity --- 三维数学 --- 欧拉角与四元数

调用Quaternion类中的静态方法Euler() --- 该方法需要传三个参数,分别是绕x轴,y轴以及z轴旋转的角度 --- 传好参数之后该方法就会将传过来的欧拉角转换为四元数并返回 --- 而使用四元数表示旋转就不会出现万向节死锁。1.四元数的运算法则分为两大类 --- 分别是四元数与四元数相乘(前面有讲,主要是旋转叠加)以及四元数与向量相乘,接下来讲解的就是四元数与向量相乘。c.设置表示新的旋转状态的四元数 --- 根据给定的公式和已经确定好的轴与弧度,将四元数所需的x,y,z,w四个数初始化好。

2023-04-03 14:35:38 1373

原创 计算机组成 ---- 字符与字符串 ,以及奇偶校验码

1.在计算机中通常以8bit为一单位,所以尽管我们只需要7个bit位就能够一一映射128个字符,但是我们还是选择用8bit位来进行映射 --- 其中空的位用0来补1.所有数字的,大写字母的,小写字母的ASCII码值都是连续的1.94个区(行),94个位置(列),每个汉字都放在一个小格子里,有着自己的坐标这个坐标就是这个汉字的区位码1. 16是区码,01是位码 --- 1601这个区位码对应的汉字是啊1.数字后面带H表明这个数字是十六进制数。

2023-04-03 09:14:43 855

原创 计算机组成 --- BCD码

在2421码中,规定大于等于5的十进制数的2421码表示的第一位必须是1(小于5的则是最高位必须为0) --- 这样子才能够避免歧义的出现,如1011 = 5 ,0101 = 5,当规定首位必须为1的时候就没有这种歧义了。1.在8421码中,每一位二进制都是有权的 --- 从前往后数每一位的权分别是 8 4 2 1,这种每一位都有对应的权的码称为有权码(2421码也是有权码,与8421码同理)(+6加的是二进制的6 --- 0110),+6之后得到的结果按上图的方式进行处理。

2023-04-02 17:15:50 310

原创 计算机组成原理 --- 数据的表示和运算

2.转换步骤 --- 以2转8为例 ---从后往前选取三个连续的二进制数(小数点前的和小数点后的是分开来算的,不能混在一起算)(如果不足三个就用0来补充空缺),然后将这三个二进制数转换为对应的十进制数 --- 2的2次方 + 2的1次方 + 2的0次方,1.二进制转换为8进制的时候需要明确一个规则就是 --- 每三个二进制数就能够表示一个八进制数(2的3次方等于8,其它的同理 --- 16进制就是每四个2进制数就能够表达,2的4次方等于16 --- 4个二进制数能够表示一个16进制数)

2023-04-02 14:50:35 578

原创 计算机组成原理 --- 计算机性能指标

4.除了CPU主频需要考虑之外,我们还需要考虑一个参数 --- CPI:即执行一条指令所需的时间周期数 ---- CPI越小,CPU主频越大,CPU的运行速度越快。1.输入一个请求到系统中,系统内部处理完毕后输出结果 --- 这样一个过程可以称为一个完整的请求,而系统一秒钟内能够处理的完整的请求的个数就是 ----举个例子:如果该基准程序中的指令多为处理图像的指令的话,GPU好的电脑得分肯定更高,但是如果指令多为进行计算的指令的话,CPU好的电脑得分更高。

2023-04-01 17:42:15 3639

原创 计算机组成 --- 计算机系统的多级层次结构

b.编译器的工作流程则是先将当前程序中所有的高级语言都翻译为机器语言,然后将生成好的机器语言保存为.exe文件,下一次需要执行程序时不再需要经过编译操作,直接执行在.exe文件中保存好的机器指令即可。1.高级语言翻译为汇编语言,汇编语言再翻译成机器语言(汇编语言与机器语言是一一对应的,红色与红色对应,黄色与黄色对应 --- 红色是对操作的缩写,黄色是对被操作的对象所在的存储器地址的所缩写)2.并不是所有的高级语言都是走 --- 高级语言 --- 汇编语言 --- 机器语言这样的流程的。

2023-04-01 11:09:14 334

原创 Unity --- 3维数学 --- vector类 --- 三角函数

4.除了通过调用PI并用公式来计算的方法之外,我们还可以通过调用Mathf类中的静态属性Deg2Rad并与角度相乘来获得对应的弧度 ---- 其实Deg2Rad的全称是 Degree(角度)ToRadian(弧度),2(two --- 谐音To) --- 即角度转弧度需要乘的数。(PS:本地坐标系指的就是物体本身的坐标系,上面这样一个方法的调用就是将处于物体本身的坐标系(本地坐标系)中坐标为(0,0,10)的点的坐标转换为其对应的世界坐标系的坐标)

2023-03-27 21:50:54 785

原创 Unity --- 三维数学 --- Vector类 --- 向量部分

1.获取单位向量的两种方法:公式法 --- 向量 / 模长 ---》得到的结果依然是一个向量(该向量的每一个分量的值等于 --- 原向量的每一个分量的值 / 模长),且该向量即为我们想求的单位向量。1.Unity中物体移动的本质其实就是向量相加 --- a向量+b向量最终呈现的效果就是a向量的终点沿着b向量对应的方向移动,移动的距离等于b向量的大小。1.A向量的单位向量是在A向量的方向上模长为1的向量,用来表示A向量的方向。1.两向量点相减之后得到的新的向量的大小(模长)为两向量点之间的距离。

2023-03-26 10:28:18 1860

原创 Unity脚本类 ---- Input类,虚拟轴与插值方法

虚拟按钮有三个值 --- 1 - 0 - -1 ,当我们没有按到虚拟按钮对应的任何真实按钮时,虚拟按钮对应的值是0,按了正向按钮就会变到1,按负向就是变到-1,松开按键则值都会回到0。2.使用上面这个方法还需要处理一个问题 --- 作差之后的值的正负问题 --- 可以通过调用 Mathf 中的 Abs方法来解决 --- Abs(参数) --- 调用后返回参数的绝对值。这一个虚拟轴对应的是鼠标滚轮 --- (Joysticks --- 操作杆,Scrollwheel --- 鼠标滚轮)

2023-03-23 09:41:12 1050

原创 计算机组成 --- 计算机硬件的基本组成,以及各个硬件的工作原理

1.存储程序的出现将原本给一条指令执行一次的计算机工作模式 更改为 给一堆指令群执行指令群 的工作模式1.我们的输入包括:要被处理的数据以及告诉计算机如何处理数据的程序指令集合2.控制器会从存储器中获取程序指令集合并对其进行解析,然后根据解析的结果控制其它的设备3.在计算机系统中,软件和硬件是等效的 --- 也就是说同一个功能,我们既可以通过软件来实现,也可以通过硬件来实现通过软件实现的特点是:成本更低,但是运算速度更慢通过硬件实现的特点是:成本更高,但是运算速度更快。

2023-03-21 21:33:32 1412

原创 计算机组成原理 --- 初始介绍与系统概述

1.计算机系统由硬件和软件两大部分组成。

2023-03-21 10:51:07 111

原创 Unity --- 游戏案例 --- 英雄无敌与Ruby

(没有继承MonoBehaviour类的话,则这个类是一个独立于Unity的类(或者说就是一个普通C#类),Unity中所有的方法它都不能够直接调用,但他能够通过实例化其它继承了MB类的类,然后通过对象间接调用)4.每一个拥有Transform组件的游戏对象(对象集群)中的任何一个组件(脚本)对应的类实例化的对象都能够直接通过 --- 对象名 + 点操作符 + transform来访问到该游戏对象上的Transform组件。为一个游戏物体做的动画片段只能够用到这个游戏物体本身上。

2023-03-18 21:46:56 1940

原创 Unity --- 动画脚本

1.什么是动画?(在Unity中)首先如果游戏物体想要在场景中动起来的话,就必须使其对应组件中的属性发生合适的变化,而将属性的变化过程保存下来后形成的就是动画以后如果想播放动画的话,只需要调用这段保存下来的属性变化就可以了。

2023-03-15 21:49:25 4376

原创 Unity自带类 --- Time类

首先我们要知道,TimeScale等于0时只是游戏中的时间相对于现实中的时间静止了,这个静止不会影响画面的渲染,渲染只和机器的性能和渲染算法有关,与游戏内时间无关 ---而 Update方法则是在渲染一帧后执行一次 --- 也就是说 update方法的执行与TimeScale所代表的游戏时间无关,哪怕TimeScale = 0 ,只要画面还在正常的渲染,Update方法就会正常的执行。渲染慢,帧数少,帧时间大则转的比原来多,二者趋近平衡。当该变量的值大于1的时候,越大,游戏中的时间相对于现实中的时间越快。

2023-03-14 19:08:01 857

原创 Unity脚本练习

首先有一个大的Unity命名空间,Unity中本身就有的类(包括组件等等),我们创建的脚本都在这一个命名空间中,所以我们可以在一个类中实例化另一个类的对象(比如在一个脚本类中实例化另一个脚本类的对象),以及调用另一个类的类方法(静态方法)当我们找到了一个游戏对象(对象集群)中的任何一个对象的引用时,我们就可以通过这个引用找到该游戏对象(对象集群中的其它对象),使用的方法是GetComponent ,尖框中的类型决定了我们要查找的对象的类型。这些类能够直接在其它类中被使用。

2023-03-12 16:18:16 1428

原创 Unity脚本复习

1.在Project面板中显示和创建的每一个脚本其实都是一个类,当我们把脚本挂载到Hierarchy层级中的游戏物体时,其实我们就实现了将脚本类实例化为一个脚本组件(对象)的过程2.在游戏运行时,场景加载,游戏对象加载,脚本被激活,并执行自己的生命周期 awake , start , update , detroy在前面的学习中我们学了如下三个重要的类 ---

2023-03-11 10:13:13 383

原创 Unity脚本 --- 常用API(类)--- GameObject类 和

4.第一种禁用方式和第二种禁用方式是有区别的,这个区别就引出了 activeHirarchy 和 activeSelf的区别:一个游戏物体的激活状态有两种,一种是其在场景中的实际激活状态,一种是其一开始设定的局部激活状态(通过游戏对象名旁有没有钩来表现)3.禁用一个游戏物体有两种可能性:一种是将游戏物体的inspector界面处的游戏物体名旁边的钩给取消掉,还有一种是将该游戏物体的父物体的钩取消掉(如果有父物体的话)上面这段代码的是在给游戏物体挂载一个组件 --- 在尖尖括号里的就是组件的名字。

2023-02-27 21:32:41 668

原创 Unity脚本 --- 常用API(常用类) --- Component类和Transform类

1.Translate方法,输入一个参数 --- 同时包含距离和方向的向量,就可以将物体移动到对应的位置。

2023-01-17 23:19:24 999

原创 Unity脚本 --- VS调试工具

此时在下面就会出现一个监视窗口,在监视窗口中我们可以输入想要监视数值的变量,也可以输入简单的计算公式以及相应的变量来看结果,同时我们还可以通过this调用组件来看组件中的各项数值(PS:在调试时使用即时窗口也能实现同样的功能)2.在调试的时候点击f11可以逐语句调试,同时当我们在调试的时候想要查看某个值或者某个组件设计到的数值的时候,我们可以点击右键,然后点击添加监视。Update方法会在每一帧中被调用执行,有的时候我们并不想看每一帧的调试结果,只想看到某一帧的调试结果时,就可以使用单帧调试法。

2023-01-04 20:16:25 1802

原创 Unity脚本(2) --- 脚本生命周期以及脚本的控制台调试

控制台如何打开?1.第一种方法是点击Windows然后选择Console即可;第二种则是利用快捷键:ctrl + shift + c2.对之前的内容做一个修正 --- 我们需要给Debug.Log()方法传一个参数,这个参数可以是任意类型的变量,该方法执行的时候会将传进来的变量的数据以字符串的形式在Unity控制台中输出关于控制台的一些功能的介绍:1.Clear --- 清除控制台中所有已显示的内容2. Collapse --- 折叠相同项 --- 将在控制台中输出的相同项折叠起来。

2022-12-13 11:09:41 1457

原创 Unity脚本 (1) --- 创建脚本以及挂载脚本的本质,脚本模板的修改

2.每当我们给游戏物体挂载一个组件(对象) / 脚本的时候,实际上发生的是一个组件 / 脚本对象通过对应的类实例化出来,然后一个引用被创建并指向组件对象,接着在游戏物体数组中存储这个引用。2.脚本的本质就是一个类,当我们把一个脚本挂载到游戏物体上的时候,实际发生的过程是通过脚本中的类实例化了一个对象挂载到游戏物体上,然后我们就是通过这个对象调用方法来控制游戏物体的。写一个脚本(编程文本文件),挂载到对象上,游戏运行的时候会自动读取对象上挂载的代码并将其运行,使得对象能够根据代码做出对应的反应。

2022-12-10 21:34:27 4548

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除