unity3d 中能画出漂亮图案的函数之玫瑰图案
接下来我们用程序画出一些函数图形,这是一件赏心悦目的事情。
玫瑰函数就是一件完美的艺术模型,简单漂亮,当然还有其他比如:人物图案、建筑图等等。
今天就介绍玫瑰函数,其他的以后再介绍,先看看玫瑰函数的公式:
x=(a+b)cosθ-acos[(a+b)θ/b]; y=(a+b)sinθ-asin[(a+b)θ/b];
这个公式相信大家都知道吧!没错,大学高数课本后的图案公式!其中X、Y的坐标由3个值来决定,θ在0-360度或者0-720度的之间范围取值,而a,b在一定的区间范围内取值,就可以做出各种各样的图案。
下面这段Unity代码就实现了玫图案函数的表达式。
for (var i=0; i<numberOfPoints; i++) {
theta = i * Mathf.PI / 180;
linePoints [i] = new Vector3 ((a + b) * Mathf.Cos(1*theta) -a*Mathf.Cos((a +b) * theta / b), (a +b) * Mathf.Sin (1*theta)-a* Mathf.Sin ((a +b) * theta / b), 1.0);
}
然后通过设置函数物体或者摄像机物体的旋转来获得物体的运动。
var rotateSpeed = 10.0;function Update () {
transform.Rotate(Vector3.up * Time.deltaTime * rotateSpeed);
}
a、b的值可以用slider等UI控件来解决。
btn=gameObject.Find("Canvas/Panel/Button").GetComponent(UI.Button);
btn.onClick.AddListener(onClick);sca=gameObject.Find("Canvas/Panel/Slidera").GetComponent(UI.Slider);
sca.onValueChanged.AddListener(SliderA);scb=gameObject.Find("Canvas/Panel/Sliderb").GetComponent(UI.Slider);
scb.onValueChanged.AddListener(SliderB);scc=gameObject.Find("Canvas/Panel/Sliderc").GetComponent(UI.Slider);
scc.onValueChanged.AddListener(SliderC);
相应的回调函数是:
function Slidera (temp:float)
{a= temp/100;LineSetup (true);
}
function Sliderb (temp:float)
{b= temp/1000;LineSetup (true);
}
下面有用到C的值,这是因为为了更好显示在摄像机中,因为函数画出来的图像可能有大有小,需要通过一个C值来来调节,C值=摄像机到函数的距离,这样就可以调节C值把函数图案完美的显示在手机屏幕中央了,这样就大功告成了。
function Sliderc (temp:float)
{
var gb= GameObject.Find("Main Camera");
gb.transform.position=new Vector3( gb.transform.position.x, gb.transform.position.y, temp);
}
进而使得程序大体完成。
其实还可以加上粒子系统、背景图案、颜色、坐标系统等等来控制获得更好的效果。
毕竟是很短的时间内做出来的,以前这个程序写过,但是代码丢了,于是今晚再次完成下。
以下是效果图:
unity3d 中能画出漂亮图案的函数之玫瑰图案相关推荐
- 如何在科研论文中画出漂亮的插图?(附代码)
来源:机器学习实验室 本文约3300字,建议阅读5分钟. 本文给大家推荐几种在论文中画出漂亮的插图的方法. 方法一 强烈推荐 Python 的绘图模块 matplotlib: python plott ...
- python画三维立体图-如何在论文中画出漂亮的插图?
----2020.08.07增---- 看到评论区有人说"没代码没教程所以没帮助"-- 好吧,我寻思链接.参考资料都在回答中给出来了呀(可能不够明显?) 于是,重新整理.注释了一下 ...
- 数据血缘关系图 工具_如何在论文中画出漂亮的插图?用它!丨城市数据派
[你投稿了没?10万+作者"平台好才是真的好",也许下一个就是你!](点击看详情),是由城市数据派主办的征稿活动,小派在此恭候派友们投稿分享![本期看点]LaTeX是一种非常好用的 ...
- 学术大咖教你一个轻松在论文中画出漂亮插图的方法
在撰写论文的过程中,一张精美的论文配图是你的加分项.俗话说:"好马配好鞍",一张规范的高质量配图也是发表高水平论文的必备条件,使用得当的话一定能让你的论文如虎添翼.当我们仔细分析那 ...
- 如何在论文中画出漂亮的插图?
GITHUB, 开源包d3.数据可视化利器.http://ghv.artzub.com/#repo=d3&climit=100&user=mbostock&run 知乎精选: ...
- matlab学位论文绘图美化工具_推荐几个超级好用的工具,让你在论文中画出漂亮的插图...
每次我们看到优秀期刊中的文章,比如<Nature>.<Cell>,我们都会被文章中的插图惊艳到.再瞅瞅我们自己论文中的插图,总觉得比别人low了好几个c层次.一个好看的插图绝对 ...
- python 论文插图_如何在python论文中画出漂亮的插图?-from知乎
如何在论文中画出漂亮的插图? 经常看到别人论文中画出各种绚烂的插图,我想知道这些图都是用一些什么样的软件画出来的.比如下面给出的几张,好吧,我承认有的并不那么绚烂,但用什么样的软件比较合适呢?具体答案 ...
- Python编程,使用turtle画出漂亮的雪花--完整代码绘画实现洁白的雪绒花~~
Python编程,使用turtle画出漂亮的雪花--完整代码实现洁白的雪绒花~~ Python中turtle库,可以方便的让你实现各种各样的功能.简单易用,有的时候能够创作出,你想像不到的漂亮图案.今 ...
- 如何画出漂亮的气象(实时流量)图
公司的流量监控一直用PRTG,显示外网出口流量曲线,当线路越来越多时,看着很乱.于是就有了本文.Weathermap是cacti中大家最用的一个插件之一,用它可以画出漂亮的网络拓扑图!本人水平有限,尤 ...
最新文章
- 握手失败_拜托了,看完这篇别再问我什么是TCP三次握手和四次挥手
- centos 7 ldap php7,centOS更新php7
- 24.volatile关键字的作用、volatile原理、可见性、内存屏障、volatile性能、transient
- CTF 这个看起来有点简单
- 透彻!博士生成长需要经历的7道门
- android代码重启设备,Android设备重启(reboot)---Android studio
- 第8章 面向对象高级编程与网络编程
- KbmMW 4.30.00 发布
- 2013-1-30 六级词汇造句
- 计算机如何共享桌面,怎么将自己的台式电脑屏幕与多人共享
- 北京54坐标系和1980西安坐标系转换
- .NET Core 如何验证信用卡卡号
- 重装系统进入PE的快捷键大全
- wsgw_android,衍宏2015最美经纪人 投票查看
- vue——实现组织架构图(vue-org-tree)——技能提升
- Java----映射 map
- 多肉商店html网页代码,[转载]国外多肉植物及种子购买网站(转载)
- Storyboard 解析
- 你要相信没有到不了的明天
- matlab胞元数组