| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
跟随鼠标的萤火虫
坐标非整数时的像
mc的本地坐标和舞
一个简单的用Acti
极坐标在绘画方法
如何将角度和坐标
跟随鼠标的小球
影片注册点与坐标
追踪目标的简单实
VB ,输入N个点的坐

极坐标的应用           

极坐标的应用

作者:佚名 来源:闪吧 作者: 雪の猫 更新:2007-1-13 20:46:31 错误报告 我要投稿

那天谁说的要画8字的图案。可以应用极坐标来完成。

大家对高中时的圆锥曲线统一极坐标方程还熟悉吧?

len = e*p/ (1- e*cos(rad)) e离心率,p焦点到准线距离

//下面是一个椭圆。
function ellipse(r) {
_root.funcName.text = "椭圆";
return .3*175/(1-.9*Math.cos(r));
}

极坐标的点是用 (length, radian)表示的,但是Flash是笛卡尔坐标,所以用下面的函数来转化。

//极坐标转化成笛卡尔坐标
function pToC() {
var point = new Object(); //用笛卡尔表示的点
var len;
len = doCalculate.call(this, r); //得到极坐标的点
point.x = len*Math.cos(r);
point.y = len*Math.sin(r);
return point;
}

然后根据得到的笛卡尔坐标的点,利用onEnterFrame画图就可以了。


点击浏览该文件

点击浏览该文件

附上几个极坐标的方程:

过原点的直线:red = a ; a 是常数的一个角
垂直极轴的直线:len*cos(rad) = constLen; constLen 是常数的一个长度
平行极轴的直线:len*sin(rad) = constLen;

圆心是原点的圆:len = R; R是半径
过原点的圆,圆心在极轴:len = 2* R * cos(rad);
过原点的圆,圆心在垂直极轴的直线上:len = a*R*sin(rad);

心脏线:len = 2*R*(1+cos(rad)); R是心脏线的中心到原点的距离

纽线:pow(len,2) = pow(A,2)*cos(2*rad); A是半长轴
pow(len,2) = pow(A,2)*sin(2*rad);

四瓣玫瑰线: len = A * cos(2*rad);
三瓣玫瑰线: len = A * cos(3*rad);
注:偶数倍rad画倍数的2倍个瓣,奇数倍画奇数个瓣

螺旋线:len = A * rad;
对数螺旋线:len = pow(e,A*rad); 这个A要舍得小一点才能看清楚

改变一下方程,能画出很漂亮的曲线

关于源文件,我其实不是想说AS,倒是想起了C。因为AS里边function特别有一个Function类,大家应该也用的很熟了。

可是C的初心者一般都对指向函数的指针敬而远之,其实用是一样,名字不同,但我都叫“函数对象”。用来实现所谓静态多态(不绑定对象的“多态”)。

例子就是把 函数对象 作为 调用函数 的一个参数,从而使调用函数表现为“多态”。

function invoker(func, [parameters]){
//do some common init work
func.call(this, [parameters]);
//do something
}

C版本:


void invoker(TYPE (*func),[parameters]){

func([parameters]);

}

因为AS其实还是一种弱类型语言,几乎可以任意的转换类型,这种调用就显得特别灵活。AS的函数还自动产生一个arguements对象,完全可以不在定义函数的时候写死,而在调用的时候选择不同的参数形式。

比如Array的构造函数就可以接收多种完全不同形式的参数

甚至可以写成这样:

function afunc(){
var len = arguments.length;
//......................
var local1 = arguments[0];
if(arguments[1])
//................
arguments[2].call(arguments[3],arguments[4],....);

}

总之,引用《thinking in Java》的一句话,万物皆对象。利用好对象的特点。

声明,这个帖子是我写的,可是内容不是“原创”,都写进n百本教材了,温习一下。

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。