上一篇文章我们尝试了简单的匀速射线运动,这篇来尝试圆周运动
以后用P5(processing的简称)来称呼
P5圆周运动

float x;
void setup(){
size(666,666);
}
void draw(){
background(233);
ellipse(width *0.5 +cos(x *PI/180) *66,height *0.5 +sin(x *PI/180) *66,66,66);
x+=1;
}
cos(x)中的x是弧长,而不是角度,PI是180度对应的弧长,使用PI除以180,获得1度对应的弧长,然后1弧长乘以递增值,从而让cos( x )在-1和1之间往复运动,再放大往复运动的倍数(在数学中我们称为半径)
如何记住cos和sin呢? cos读音类似“扣死”,斜边与x轴边“扣死”了夹角 sin读音类似“塞外”,y轴对于夹角来说是遥远的塞外 x坐标使用cos,y坐标使用sin
unity的圆周运动效果

unity的代码
float px;
void Start()
{
}
void Update()
{
transform.position = new Vector3(Mathf.Cos(px * Mathf.PI/180) *6, Mathf.Sin(px * Mathf.PI/180) *6, 0);
px += 1;
}
圆周运动的写法一模一样,只需注意以下三点 cos需要写成Mathf.Cos sin需要写成Mathf.Sin PI需要写成Mathf.PI
有时间会发布更多关于P5和unity的对照代码
其实unity的插件库中有unicessing的插件,通过这个插件可以直接写processing语言,而我这里想看看unity中能否像processing那样把算法带入到参数当中,很显然,完全没问题,所以也不需要非得学习unicessing这样的插件,直接用unity的c#代码也照样可以玩转P5效果
本文介绍如何使用P5(Processing的简称)和Unity实现圆周运动效果,通过调整弧长和角度,使物体沿圆形路径移动。在P5中,利用cos和sin函数计算x和y坐标,而在Unity中,使用Mathf.Cos和Mathf.Sin函数配合Vector3位置更新,实现相同效果。
628

被折叠的 条评论
为什么被折叠?



