Flash 与数学:星形线
今晚我们来玩玩这种线绘制,星形线。 在大学的里面解析几何当中,把这种曲线叫做四尖点星形线。由于它的形状如星星 称上这个名称也不无道理,看到这种线的时候,你是否会许个愿望呢?一起来吧
星形线公式:
x=a*cos3A
y=a*sin3A
公式很简单,A的角度可以是正无穷 和负无穷之间,(a可以理解为半径) 但是我的做法,理解他为0-360已经足够了。也就是说他旋转一圈。通过绘制这条线,同样我们加入一些线的动画,这样做的好处是增加一些动感性。
程序的思路很简单,我们就按他的提供的公式设计一个绘图程序,它会按顺时针来进行绘制,这是因为flash 的坐标系和我们传统的数学坐标系有区别,顺时针所转换的角度是正的,而传统的则是负的。可以去了解一些这两种坐标系区别。
我们使用描点的方式来进行绘制线,是在flash 里面一个很常用的手法。而你看到的图像,我们可以假设认为是360度描点所得的结果,有兴趣可以继续深入。
下面是代码:
package { //星形线动画 // x=a*cos3A // y=a*sin3A // 写于2010年4月11日 import flash.display.Sprite; import flash.events.*; public class Main extends Sprite { private var pen:Sprite=new Sprite(); private var lineMc:Sprite=new Sprite(); private var angle:int=-1;//角度 private var centerX:Number=stage.stageWidth/2;//中心点x位置 private var centerY:Number=stage.stageHeight/2;//中心点y位置 public function Main() { init(); } private function init():void { addChild(pen); addChild(lineMc); //描绘十字坐标 pen.graphics.lineStyle(1); pen.graphics.moveTo(centerX,centerY); pen.graphics.lineTo(centerX,0); pen.graphics.moveTo(centerX,centerY); pen.graphics.lineTo(centerX*2,centerY); pen.graphics.moveTo(centerX,centerY); pen.graphics.lineTo(centerX,centerY*2); pen.graphics.moveTo(centerX,centerY); pen.graphics.lineTo(0,centerY); addEventListener(Event.ENTER_FRAME,Run); } private function Run(event:Event):void { lineMc.graphics.clear(); if (angle==-1) { var px:Number=centerX+200*Math.pow(Math.cos(angle*Math.PI/180),3); var py:Number=centerY+200*Math.pow(Math.sin(angle*Math.PI/180),3); lineMc.graphics.lineStyle(1,0x0033FF); lineMc.graphics.moveTo(centerX,centerY); lineMc.graphics.lineTo(px,py); lineMc.graphics.drawCircle(px,py,5); pen.graphics.moveTo(px,py); drawLine(px,py); } else if(angle<=360 && angle>=0) { px=centerX+200*Math.pow(Math.cos(angle*Math.PI/180),3); py=centerY+200*Math.pow(Math.sin(angle*Math.PI/180),3); lineMc.graphics.lineStyle(1,0x0033FF); lineMc.graphics.moveTo(centerX,centerY); lineMc.graphics.lineTo(px,py); lineMc.graphics.drawCircle(px,py,5); drawLine(px,py); } else { removeEventListener(Event.ENTER_FRAME,Run); trace("over"); } angle++; } //绘制线程序 private function drawLine(x2,y2:Number):void { pen.graphics.lineStyle(1,0xff0000); pen.graphics.lineTo(x2,y2); } } }
扩展:除了星形线,还有之前介绍的螺旋线等等,还有很多关于线的图像和面,例如玫瑰线等等这些线会在日后写作当中介绍一下。
我们有意识将他认为是0-360旋转一周的图像,其程序只是通过我们常用”描点法" 描写这些图像。有兴趣可以尝试一下玫瑰线的绘制
下面就留一个问题,下面的是怎样绘制?或者复制? 好,准备睡觉去,累
Flash 与数学:星形线相关推荐
- Flash 与数学 星形线
今晚我们来玩玩这种线绘制,星形线. 在大学的里面解析几何当中,把这种曲线叫做四尖点星形线.由于它的形状如星星 称上这个名称也不无道理,看到这种线的时候,你是否会许个愿望呢?一起来吧 星形线公式: x= ...
- 用计算机制作数学PPT课件,使用flash制作数学课件经典案例.ppt
使用flash制作数学课件经典案例.ppt 当使用钢笔工具绘画时,可以创建直线段或是曲线段,也可以先画出直线段再调整线条上的点直到曲线段的造型符合用户的要求,这说明直线可以转换为曲线,实际上曲线也可转 ...
- Flash与数学: 旋轮线(2)
旋轮线又称为摆线,它所滚动的轨迹可能是一直线或者圆,不同的情况下产生的轨迹曲线会有所不同.其中一种是内摆线,一种是外摆线.这种线的描述可以在高等数学几何里面找到,或者百度搜索当中可以搜索到相关的资料. ...
- Flash与数学:球体曲面 (2)
参考了一个源码,大概了解3d球体的做法,借用了球体曲面的参数方程式,我们可以做出这种球面的图片分布效果出来.了解这种球面分布了解到每一张图片倾斜的角度是多少.当初看到这个源码,也让人觉得兴奋,因为他的 ...
- Flash 与数学:圆的切线(3)
在上面几节当中,已经了解过计算圆上任意一点的切线的方法,我们首先知道使用导数几何意义在哪里?在我们高中数学和大学的数学当中,说明了.导数的几何意义函数y=f(x)在点x0处导数为f'(x0)在几何上表 ...
- Flash与数学:圆(2)
在之前我们已经完成一个按圆的分布的效果,现在开始,我们对其进行一些扩展,结合到xml 和外部加载图片来测试这些交互小应用. 我们首先准备一些大小系列相同的图片.按一系列的顺序进行编写.编号为1.jpg ...
- Flash 与数学:圆的切线(2)
圆的切线其实在使用当中有一些应用,特别是在分布的时候,在flash 当中圆的技术使用是经常而且实用性很高,这张图片就是通过分布而来的,但是同时加入一些阴影的滤镜让其看起来更加好看. 当中的做法. 下面 ...
- Flash 与数学 等速螺线
等速螺线又称阿基米德螺线.它的应用很广泛,在工业设计领域当中有着很重大的贡献.翻开高中课本,这种概念解析就可以看到他的概念定义.这里就不想抛书包了. 今天,我们来创建一条简单的等速螺线.它的公式很简单 ...
- Flash 与数学:等速螺线
等速螺线又称阿基米德螺线.它的应用很广泛,在工业设计领域当中有着很重大的贡献.翻开高中课本,这种概念解析就可以看到他的概念定义.这里就不想抛书包了. 今天,我们来创建一条简单的等速螺线.它的公式很简单 ...
最新文章
- python读取配置文件存在某配置_Python读取配置文件(config.ini)以及写入配置文件
- mysql同步出现错误
- cpu的基本硬件组成
- 编辑器未包含main类型_利用 ONLYOFFICE 将在线文档编辑器集成到 Python Web 应用程序中...
- java8 gc配置_基于JDK8的JVM参数设置和GC日志解读
- 解决java使用Runtime.exec执行linux复杂命令不成功问题
- 假设检验 python_数据清洗、假设检验
- IDEA设置为Eclipse常用快捷键keymap
- python中的for什么意思_python中的for是什么
- 深圳物流 inurl php id=,免费快递在线下单接口对接文档-(PHP)
- Android设置来电铃声和分享操作
- Linux内存管理(二):页面查询过程简述
- Hadoop多节点规划与搭建
- java中多重if结构_java中的多重if
- session如何设置超时时间
- WC2019 冬眠记
- 关于睡眠排序的小尝试
- 7-14 十六进制转十进制
- Android开发 自定义心率图
- 利用浏览器F12排查前端(JSP)页面错误