快速业务通道

极坐标的应用

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12


那天谁说的要画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百本教材了,温习一下。 关键词:坐标

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号