二维向量的点乘
1、a(向量) 点乘 b(向量) = x1x2 + y1y2 = 标量(数值)
=a(向量的模长) * b(向量的模长) cos(角度)
向量的点乘 可以换算成角度
角度 = ac cos( (a(向量) * b(向量) ) / a(向量模长) * b(向量模长) )
2、余弦定理
余弦定理推演:
余弦定理的推理是通过,三角函数平方关系+勾股定理 一起推演出来的。
三角函数平方关系:
勾股定理:
直角三角形 俩个直角边的平方和等于对边的平方
二维向量的点乘
1、a(向量) 点乘 b(向量) = x1x2 + y1y2 = 标量(数值)
=a(向量的模长) * b(向量的模长) cos(角度)
向量的点乘 可以换算成角度
角度 = ac cos( (a(向量) * b(向量) ) / a(向量模长) * b(向量模长) )
2、余弦定理
余弦定理推演:
余弦定理的推理是通过,三角函数平方关系+勾股定理 一起推演出来的。
三角函数平方关系:
勾股定理:
直角三角形 俩个直角边的平方和等于对边的平方
二维向量减法
二维向量的加法 = a(向量) + b(向量)
二维向量的减法 = a(向量) + -b(向量)
二维向量减法: 被减向量 与 减向量 平移到共起点, 减法得到的最终二维向量是 减向量的终点为起点,指向被减向量的终点。
二维向量加法
二维坐标系旋转
(根据上图的推到)
将坐标系顺时针旋转后,求得点坐标为:
x` = x cos角度 + y sin角度
y` = y cos角度 - x sin角度
将坐标逆时针旋转后,求得点坐标为:
x = x` cos负角度 + y` sin负角度
y = y` cos负角度 - x` sin 负角度
( 坐标变换 顺时针 和 逆时针 的区别在于角度的正负 )
二维坐标系平移
二维坐标的平移,是平移坐标系。
o`p`(向量) 是 op(向量) 经过 oo`(向量)平移 后得到的。
op`(向量) 是 o`p`(向量)在 XOY坐标系中的呈现。
op`(向量) 坐标等于
x` = x + a
y` = y + b
二维单位向量
叉乘不符合交换律,俩个向量互换位子叉乘,得到的结果是不一样的。
单位向量:
模长等于一的向量。
求一个非零向量的单位向量:
(如何理解单位向量的计算公式)
单位向量是模长为1 ,有方向的,向量。
向量是有模长,有方向的。
用向量除以自身的模长,这样,向量的模就被化成1,方向不变。
零向量:
零向量长度为0
方向是任意方向
任何向量乘零向量都等于0
一个单位向量在平面直角坐标系上的坐标为(x,y) 根据勾股定理 和 单位向量模长为1 的特性 得 x(平方) + y(平方) = 1 。
斜率: y / x
mode基类不要继承moni类 切记
否则后面查找的时候会报空
登录UI前两次都可以,第三次开始无法消失的,可能是因为弹出栈时未清除所有的addlistener,导致下一次push的时候addlistener被绑定了多次,所以在loginpanel.cs中onexit函数中加上closeButton.onClick.RemoveAllListeners();
1、制作静态工具类
方法1:创建UI
GameObject go=Resources.Load<GameObje ct>(type.ToString());//取出游戏物体
2、创建枚举类型
GameRoot:ContextView需要挂载在游戏物体上
void Awake(){
context=new GameContext(this,true);
context.Start();
}
GameContext:MVCSContext
public GameContext(MonoBehaviour view,bool autoMapping):base(view,autoMapping)
protected override void mapBindings()
绑定都是在GameContext中进行
1、ROOT继承contextView,继承自monobehivar,挂载在游戏物体上
2、新建类继承MVCS Context,事件名字和事件进行绑定
1、导入资源直接用拖就可以
2、Resources里的文件夹里的文件是可以通过方法加载的
3、ctrl+9 store
二维向量的模
1、了解勾股定理
2、二维向量的模 = 根号下 ( 向量x的平方 + y的平方 )
3、通过Sin函数,计算向量沿X轴(顺时针/逆时针)的角度。= y / 斜角边
勾股定理
当我们知道三角形任意俩个边长,我们就能求出另外一个边长。
XML序列化主要用 XmlSerializer
二进制序列化主要用 BinaryFormatter
二维向量
二维向量 :
1、在数学上叫向量,在物理上叫矢量。
2、具有方向的线段叫做有向线段,以A为起点,B为终点的有向线段作为向量,可以记作 V = B - A
有向线段 和 向量 在一版数学研究中,向量是可以平移的,有向线段 是不可以平移的。
向量的计算
V= 箭头端点 - 末尾端点
上图中的向量 的计算 :
V = B - AV
V = ( -4 ,2 ) - ( 3 , 3)
V = ( -7 , -1 )
蓝色向量 为平移后的 红色向量
( 向量具有平移的特点 )
( 向量只具有 长度 和 方向 )
( 不同的坐标系,向量的位子是不同的,所以向量没有坐标 )
二维坐标
1、笛卡尔坐标系
2、OpenGL 与 DirectX 进行屏幕映射时候使用的笛卡尔坐标系区别:
(OpenGL 屏幕左下角为 原点 )
(DirectX 屏幕左上角为原点)
3、简单介绍一下,2个二维坐标系的变换
Unity Shader介绍
本节理解 unityShader 与 ShaderLab 的关系
理解 ShaderLab 的组成
理解 Shader
理解 Shader 与 UnityShader 的区别。
Unity 中的所有 Shaders 文件都使用名为“ShaderLab”的声明性语言编写
Unity Shader 相当于一种封装结构
而UnityShader里面的顶点,片元着色器是使用CG语言编写的,而整个结构是ShaderLab的格式。
Shader 和 UnityShader 在概念上还是不一样的
可以理解为,Shader 是一种流程 ,也是 在顶点,片元,曲面等着色器上可高度编程化的。我们需要把场景准备阶段,灯光,剔除等一系列操作均以代码来完成。
而UnityShader可以理解为是一种将 Shader 进一步封装。将Shader 中大部分需要用代码来完成的操作封装起来(例如:场景准备阶段等一系列操作)结构上以ShaderLab为编程格式 + 顶点,片元着色器以CG语言编写的 混合性语言。
UnityShader总结
SurfaceShader介绍
SurfaceShader 和 顶点片源Shader的区别:
1、SurfaceShader 无 Pass 块
2、