unity3d画出漂亮的玫瑰图案函数。
2019独角兽企业重金招聘Python工程师标准>>>
用程序画出一些函数图形,这是一件赏心悦目的事情。
玫瑰函数就是一件完美的艺术模型,简单漂亮,当然还有其他比如:馄饨图案、分形图等等。
今天就介绍玫瑰函数,其他的以后再介绍,先看看玫瑰函数的公式:
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在一定的区间范围内取值,就可以做出各种各样的图案。
UNITY3D具体的代码是:
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);}
进而使得程序大体完成。
其实还可以加上粒子系统、背景图案、颜色、坐标系统等等来控制获得更好的效果。
毕竟是很短的时间内做出来的,以前这个程序写过,但是代码丢了,于是今晚再次完成下。
以下是效果图:
转载于:https://my.oschina.net/u/248241/blog/1941905
unity3d画出漂亮的玫瑰图案函数。相关推荐
- 如何在科研论文中画出漂亮的插图?(附代码)
来源:机器学习实验室 本文约3300字,建议阅读5分钟. 本文给大家推荐几种在论文中画出漂亮的插图的方法. 方法一 强烈推荐 Python 的绘图模块 matplotlib: python plott ...
- python plot画图_1. 用Python画出漂亮的图表
Python 非常简单而又非常强大,它的功能之一就是画出漂亮的图表,实现数据的可视化.在 Matplotlib 帮助下,它能画出多种图表.下面是 Matplotlib 的部分例子. 怎么样?很强大吧! ...
- 数据血缘关系图 工具_如何在论文中画出漂亮的插图?用它!丨城市数据派
[你投稿了没?10万+作者"平台好才是真的好",也许下一个就是你!](点击看详情),是由城市数据派主办的征稿活动,小派在此恭候派友们投稿分享![本期看点]LaTeX是一种非常好用的 ...
- 如何在论文中画出漂亮的插图?
GITHUB, 开源包d3.数据可视化利器.http://ghv.artzub.com/#repo=d3&climit=100&user=mbostock&run 知乎精选: ...
- matlab学位论文绘图美化工具_推荐几个超级好用的工具,让你在论文中画出漂亮的插图...
每次我们看到优秀期刊中的文章,比如<Nature>.<Cell>,我们都会被文章中的插图惊艳到.再瞅瞅我们自己论文中的插图,总觉得比别人low了好几个c层次.一个好看的插图绝对 ...
- Python编程,使用turtle画出漂亮的雪花--完整代码绘画实现洁白的雪绒花~~
Python编程,使用turtle画出漂亮的雪花--完整代码实现洁白的雪绒花~~ Python中turtle库,可以方便的让你实现各种各样的功能.简单易用,有的时候能够创作出,你想像不到的漂亮图案.今 ...
- python 论文插图_如何在python论文中画出漂亮的插图?-from知乎
如何在论文中画出漂亮的插图? 经常看到别人论文中画出各种绚烂的插图,我想知道这些图都是用一些什么样的软件画出来的.比如下面给出的几张,好吧,我承认有的并不那么绚烂,但用什么样的软件比较合适呢?具体答案 ...
- matlab 第一类修正贝塞尔函数,零阶贝塞尔函数 在MATLAB中怎样画出零阶修正贝塞尔函数...
第二类修正贝塞尔函数的零阶和一阶,分别怎样用mat回忆终究只是回忆,它只代表一段过去,一段历史,回忆再美也只是曾经,告别过去,期待未来. 书上说 (0和1都是下标) K0(z), the zeroth ...
- python 漂亮的图表_1. 用Python画出漂亮的图表
Python 非常简单而又非常强大,它的功能之一就是画出漂亮的图表,实现数据的可视化.在 Matplotlib 帮助下,它能画出多种图表.下面是 Matplotlib 的部分例子. 怎么样?很强大吧! ...
最新文章
- 太赫兹芯片是什么原理_太赫兹波养生鞋 芯片、鞋垫和材质的详细了解专利技术~太赫兹芯...
- Redis 性能问题分析
- 青龙羊毛——飞鸽花转省毛毛(搬运)
- poj1015 Jury Compromise
- openresty+consul动态配置更新(服务变更发现)
- Linux 主机超全渗透测试命令汇总
- 修改MySql默认编码
- log4j2 日志框架小记
- 简介如何查看执行计划以及执行计划的准确性
- Python self,init,对象属性
- 记录PHP错误日志 display_errors与log_errors的区别
- 【EF】Entity Framework Core 2.0 特性介绍和使用指南
- 搞全闪存阵列的各执一词 宏杉说别吵了,就用我哒
- 移位密码及其python实现
- 程序员该如何避免掉头发?
- jenkins AWS CodeDeploy不停机部署
- 图像标注的基础内容介绍
- Mac Android studio插件GsonFormat的使用
- 破解工具SoftICE与TRW2000操作入门
- php mysql 查询中文乱码_PHP查询MySQL返回中文乱码问题!!!