
数学
文章平均质量分 51
萧然CS
喜欢玩游戏,更喜欢做游戏
展开
-
【C#】自定义权重获取随机数
自定义随机权重,获取随机数public class NewBehaviourScript : MonoBehaviour{ [System.Serializable] public class RandomConfig { public RandomConfig(int v,int w) { value = v; weight = w; } //返回值(不一定是i原创 2021-07-18 15:45:58 · 2431 阅读 · 0 评论 -
计算点到直线/线段的距离
计算目标点到直线/线段的距离,先计算直线/线段上距离目标点最近的点,目标点与最近点的距离,即目标点到直线/线段的距离。计算最近点: //点到直线的最近点 public void GetNearPointToStraightByPoint(Vector3 targetP,Vector3 lineStartP,Vector3 lineEndP,ref Vector3 nearP) { GetNearPointToStraightByDir(targetP...原创 2020-12-24 17:18:15 · 1548 阅读 · 3 评论 -
【Unity】代码创建扇形圆环Sprite
需要扇形或扇形圆环的时候,在UGUI中,可以直接使用扇形的图片,也可以给Image添加一张圆形或圆环的图片,ImageType设置为Filled模式,FillMethod选择Radial360,动态调整扇形角度实现扇形的圆或圆环。在2D的Sprite中,SpriteRenderer 组件不能动态调整扇形角度甚至直径,下面代码是动态生成指定半径/角度的扇形圆环sprite:publ...原创 2020-04-10 23:39:00 · 2917 阅读 · 1 评论 -
【Unity】绘制阿基米德螺旋线
阿基米德螺旋线公式: //极坐标方程为: r = a + bθ //平面笛卡尔坐标方程式为: x = (a + bθ)cos(θ), y = (a + bθ)sin(θ) //a: 当θ=0°时的极径(mm) //b: 阿基米德螺旋线系数(mm/°),表示每旋转1度时极径的增加/减小量 //θ: 极角,单位为度,表示阿基米德螺旋线转过的总度数(弧度)......原创 2019-11-14 11:45:25 · 27451 阅读 · 3 评论 -
平滑曲线连接多个点
给定一组点,用平滑曲线按顺序连接点:考虑过贝塞尔曲线,但是贝塞尔曲线只经过首尾两个点,其余点是控制点,不经过曲线于是找到了接下来的Catmull-Rom样条曲线:参考资料:Centripetal Catmull–Rom splineusing System.Collections;using System.Collections.Generic;using Uni...原创 2019-07-24 20:41:22 · 4950 阅读 · 2 评论 -
交换两个变量的值
void ChangeValue() { int x = 1, y = 2; Debug.Log(x + " : " + y); //加入第三变量 int z = x; x = y; y = z; Debug.Log(x + " : " + y); ...原创 2019-05-28 17:27:44 · 204 阅读 · 0 评论 -
判断点是否在任意多边形内(理论)
判断点是否在任意多边形内判断方法:一. 射线判断过目标点做一条直线(两条反方向的射线),每条射线与多边形边的交点数量都是奇数,则点在多边形内,否则在多边形外部;二.夹角判断以目标点为顶点,与多边形一条边的两个端点(端点分先后顺序)组成一个夹角(计算出的夹角会有正负),所有夹角之和为360度;三. 面积判断目标点与多边形每条边组成的三角形,面积之和等于多边形面积...原创 2019-05-21 21:10:17 · 9273 阅读 · 3 评论 -
【Unity】利用三角函数曲线模拟2D水面波动效果(RwaImage像素点波动)
这里用的是正弦曲线:y=Asin(ωx+φ)+kA——振幅,当物体作轨迹符合正弦曲线的直线往复运动时,其值为行程的1/2 (ωx+φ)——相位,反映变量y所处的状态 φ——初相,x=0时的相位;反映在坐标系上则为图像的左右移动 k——偏距,反映在坐标系上则为图像的上移或下移 ω——角速度, 控制正弦周期(单位弧度内震动的次数)如图,利用正弦曲线将RawImage且分为上下两部分,...原创 2019-01-08 21:02:33 · 2901 阅读 · 2 评论 -
【Unity】利用三角函数曲线模拟3D水面波动效果(Mesh顶点变化)
这里用的是正弦曲线:y=Asin(ωx+φ)+kA——振幅,当物体作轨迹符合正弦曲线的直线往复运动时,其值为行程的1/2 (ωx+φ)——相位,反映变量y所处的状态 φ——初相,x=0时的相位;反映在坐标系上则为图像的左右移动 k——偏距,反映在坐标系上则为图像的上移或下移 ω——角速度, 控制正弦周期(单位弧度内震动的次数)利用正弦曲线修改Mesh的Y值,实现波纹波动效果。...原创 2019-01-08 21:06:57 · 1369 阅读 · 0 评论 -
贝塞尔曲线
参考:贝塞尔曲线初探 http://www.cnblogs.com/jay-dong/archive/2012/09/26/2704188.html二阶贝塞尔曲线:三阶贝塞尔曲线:N阶贝塞尔曲线:利用插值公式 p =p0 + (p1 - p0) * f 和递归运算,计算出曲线的控制点,通过连续的插值系数f的值( 取值范围[0,1] ),获得连续的曲线控制点,形成...原创 2018-12-13 20:42:34 · 405 阅读 · 0 评论 -
线段(向量)的计算(判断线段重叠、相交,合并线段,点与线的关系)
主要内容:判断两线段是否相交计算两线段的交叉点点与直线的位置关系判断两线段重合并计算其重合部分判断合并两条线段说明全都在注释里了,有的方法可能不是最佳,欢迎大家提出建议~~public class Line : MonoBehaviour { Vector2 impossiblePoint = -1000 * Vector2.one; // ------...原创 2018-08-14 20:31:20 · 11240 阅读 · 0 评论 -
【Unity】LineRenderer模拟橡皮筋弹跳效果
LineRenderer模拟橡皮筋弹跳的物理现象,手拖拽橡皮筋然后松开,橡皮筋会来回跳动,并最终静止在原位置,主要思路就是实时计算点的位置,给LineRenderer的点赋值,实现动态弹跳效果 代码里主要分了两步: 1. 从松开手的位置,回弹到原来位置 2. 然后开始来回跳动,调动幅度越来越小,直到停止不动该Demo里没有添加手拖拽皮筋的代码,如果有需要可自行实现,仅需要在LineR...原创 2018-08-18 17:56:27 · 3201 阅读 · 4 评论 -
屏幕拖拽旋转转盘
如图,黄色圆形作为旋转对象,受外力绕圆心顺时针或逆时针旋转简化模型:图例:以旋转对象的旋转中心为坐标原点建立坐标系:当拖拽时施加力的作用点刚好在Y轴时,作用力的方向与物体旋转方向如上图所示,X轴同理。当拖拽时施加力的作用点在第一象限时,以施加力的作用点为坐标原点建立子坐标系,作用力的方向(子坐标系中所在的象限)与物体旋转方向如下图所示,其他象限同理:...原创 2018-12-12 21:03:38 · 772 阅读 · 0 评论