C#或unity中实现正弦函数
C#或unity中实现正弦函数
本类用于第一,需要绘制一条正弦曲线的朋友;第二,需要根据正弦曲线控制物体运动的朋友;里面都有注释,代码如下:
unity中使用的代码:
public class Curvy_Sin
{
/// <summary>
/// 周期
/// </summary>
private float lifeTime = ;
/// <summary>
/// 波峰
/// </summary>
private float MaxPos = ;
/// <summary>
/// 波谷
/// </summary>
private float MinPos = ;
/// <summary>
/// 计算时使用的周期,避免周期为小于零的情况
/// </summary>
private float ZQ
{
get
{
if (lifeTime <= )
{
return ;
}
else
{
return lifeTime;
}
}
}
/// <summary>
/// 构造一个正弦曲线
/// </summary>
/// <param name="zhouqi"></param>
/// <param name="minp"></param>
/// <param name="maxp"></param>
public Curvy_Sin(float zhouqi, float minp, float maxp)
{
this.lifeTime = zhouqi;
this.MinPos = minp;
this.MaxPos = maxp;
}
/// <summary>
/// 根据X轴获取对应Y轴的值
/// </summary>
/// <param name="x"></param>
/// <returns></returns>
public float GetZhengXianValue(float x)
{
float innner = ( * (float)Mathf.PI) / ZQ;
float ya = (float)Mathf.Sin(innner * x);
float maall = (MaxPos - MinPos) * 0.5f;
float middle = maall + MinPos;
return (middle + maall * ya);
}
/// <summary>
/// 修改正弦参数
/// </summary>
/// <param name="zhouqi"></param>
/// <param name="minp"></param>
/// <param name="maxp"></param>
public void SetCurvyZhengXian(float zhouqi, float minp, float maxp)
{
this.lifeTime = zhouqi;
this.MinPos = minp;
this.MaxPos = maxp;
}
}
C#中winform或WPF
public class Curvy_Sin
{
/// <summary>
/// 周期
/// </summary>
private float lifeTime = ;
/// <summary>
/// 波峰
/// </summary>
private float MaxPos = ;
/// <summary>
/// 波谷
/// </summary>
private float MinPos = ;
/// <summary>
/// 计算时使用的周期,避免周期为小于零的情况
/// </summary>
private float ZQ
{
get
{
if (lifeTime <= )
{
return ;
}
else
{
return lifeTime;
}
}
}
/// <summary>
/// 构造一个正弦曲线
/// </summary>
/// <param name="zhouqi"></param>
/// <param name="minp"></param>
/// <param name="maxp"></param>
public Curvy_Sin(float zhouqi, float minp, float maxp)
{
this.lifeTime = zhouqi;
this.MinPos = minp;
this.MaxPos = maxp;
}
/// <summary>
/// 根据X轴获取对应Y轴的值
/// </summary>
/// <param name="x"></param>
/// <returns></returns>
public float GetZhengXianValue(float x)
{
float innner = ( * (float)Math .PI) / ZQ;
float ya = (float)Math.Sin(innner * x);
float maall = (MaxPos - MinPos) * 0.5f;
float middle = maall + MinPos;
return (middle + maall * ya);
}
/// <summary>
/// 修改正弦参数
/// </summary>
/// <param name="zhouqi"></param>
/// <param name="minp"></param>
/// <param name="maxp"></param>
public void SetCurvyZhengXian(float zhouqi, float minp, float maxp)
{
this.lifeTime = zhouqi;
this.MinPos = minp;
this.MaxPos = maxp;
}
}
C#或unity中实现正弦函数的更多相关文章
- Unity中使用Attribute
Attribute是c#的语言特性 msdn说明如下: The Attribute class associates predefined system information or user-def ...
- 在Unity中使用UGUI修改Mesh绘制几何图形
在商店看到这样一个例子,表示很有兴趣,他们说是用UGUI做的.我想,像这种可以随便变形的图形,我第一个就想到了网格变形. 做法1: 细心的朋友应该会发现,每个UGUI可见元素,都有一个‘Canvas ...
- Unity中使用WebView
Unity中使用WebView @(设计) 需求,最近游戏中需要引入H5直播页面和更新比较频繁的赛事页面,需求包括:加密传参数.和Unity交互,在Unity框架下其实有几种方案: 内置函数Appli ...
- Unity中创建二维码
在网络上发现了一个可以把字符串转换成二维码的dll,但是我们要怎么使用他呢.不废话,直接进入主题. 用到的引用 using UnityEngine;using ZXing;using ZXing.Qr ...
- 在Unity中创建可远程加载的.unity3d包
在一个Unity项目中,发布包本身不一定要包括所有的Asset(译为资产或组件),其它的部分可以单独发布为.unity3d,再由程序从本地/远程加载执行,这部分不在本文讨论范围.虽然Unity并没有直 ...
- 【原创翻译】初识Unity中的Compute Shader
一直以来都想试着自己翻译一些东西,现在发现翻译真的很不容易,如果你直接把作者的原文按照英文的思维翻译过来,你会发现中国人读起来很是别扭,但是如果你想完全利用中国人的语言方式来翻译,又怕自己理解的不到位 ...
- 【unity shaders】:Unity中的Shader及其基本框架
shader和Material的基本关系 Shader(着色器)实际上就是一小段程序,它负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组合作用,然后输出.绘图单元可以依据这个输出来将图 ...
- Unity中各个平台的预编译的运用方式
1,unity中官方文档的一个操纵关键词 Platform Dependent Compilation 2,常用的预编译关键词 UNITY_EDITOR 编辑器调用.UNITY_STA ...
- 解读Unity中的CG编写Shader系列七(不透明度与混合)
转自http://www.itnose.net/detail/6098539.html 1.不透明度 当我们要将两个半透的纹理贴图到一个材质球上的时候就遇到混合的问题,由于前面的知识我们已经知道了片段 ...
随机推荐
- 用keytool制作证书并在tomcat配置https服务(二 )
用keytool制作证书并在tomcat配置https服务(一) 双向认证: 我们上边生成了服务端证书,并发送给客户端进行了验证. 双向认证是双向的,因此还差客户端证书. 1.为方便导入浏览器,生成p ...
- HBuilder 模拟器
模拟器名称 连接默认端口夜神安卓模拟器夜神安卓模拟器 62001逍遥安卓模拟器逍遥安卓模拟器 21503BlueStacks(蓝叠安卓模拟器)BlueStacks(蓝叠安卓模拟器 ...
- log4j日志实现重复警告slf4j-jdk14和log4j-over-slf4j
因为各种三方库依赖的log4j实现不同,所以可能会出现找到多个log4j实现的警告,但是不影响程序(logback是会影响的),如下: SLF4J: Class path contains multi ...
- STM32按键输入
下面3个接上拉电阻 WK_UP接上拉电阻 因为用到了PA,PC,PH所以要使能3个模块 STATIC静态变量只会初始化一次 每次调用flag++,不会再初始化为0:起记忆作用. 最关键的是头 件不要忘 ...
- android开发_文本按钮 与 输入框
1 TextView: 属性与值 android:text="文本" android:textSize="20sp" //sp为 ...
- 微信小程序框架集合
UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wema ...
- MySQL的4种事务隔离级别
链接: https://www.cnblogs.com/huanongying/p/7021555.html https://blog.csdn.net/qq_33226422/article/det ...
- OS X EI Captain 下解决 There was a problem confirming the ssl certificate 问题
参考: Problem Confirming the SSL Certificate - OSX OS X EI Captain 下解决 There was a problem confirming ...
- 从事三年java开发后, 我打算转人工智能
作为一个2015年参加java培训,2016年计算机科学与技术本科毕业后一直从事java开发的程序员来说, 做出这一步真的不容易, 可是我没赶上java最火的时候,反而渐渐感受到了java的没落, 目 ...
- Django中的FBV与CBV
一. FBV FBV(function based views) 基于函数的视图, 即一个url对应一个视图函数. 1.1 FBV代码示例 urls.py from django.contrib im ...