Flash与数学:球体曲面
2010-03-02 00:00:00 来源:WEB开发网查看原图(大图)
下半球面。
查看原图(大图)
总的代码:
1. package
2. {
3.
4. import flash.display.Sprite;
5. import flash.events.*;
6.
7. public class Main extends Sprite
8. {
9.
10. private var R:int=150;//球体半径
11. //private var a:int=100;//用于椭圆的球体
12. // private var b:int=80;
13. // private var c:int=70;
14. private var centerX:Number=stage.stageWidth/2;
15. private var centerY:Number=stage.stageHeight/2;
16. private var contain:Sprite=new Sprite();//创建容器
17. public function Main()
18. {
19. addChild(contain);
20. contain.x=centerX;
21. contain.y=centerY;
22. createSphere();//创建球体分布
23. addEventListener(Event.ENTER_FRAME,Run);
24. }
25.
26. private function createSphere():void
27. {
28. for (var i:int=0; i<180; i+=10)
29. { //纬度
30. for (var j:int=0; j<360; j+=10)
31. {
32. //经度
33. var ball:Ball=new Ball();
34. contain.addChild(ball);
35. ball.x=R*Math.sin(i*Math.PI/180)*Math.cos(j*Math.PI/180);
36. ball.z=R*Math.sin(i*Math.PI/180)*Math.sin(j*Math.PI/180);
37. ball.y=R*Math.cos(i*Math.PI/180);
38. }
39. }
40.
41. }
42.
43. private function Run(event:Event):void
44. {
45.
46. contain.rotationY+=0.2;
47.
48. }
49.
50.
51.
52.
53. }
54.
55.
56.
57. }
小结:
对于flash 能够创建如此的程序 我也感觉到惊讶,结合数学一些理论当中,展示出来的形状也呈现出一种美态。大家可以尝试一下,对球体的一些理论依旧可以深入下去。你会发现不仅仅球体,对于你学过的知识也能够发挥出一个不错的效果。
不过,不得不提到一点,内存的使用上,付出代价。所以这一部分也需要考虑当中去。如果有好的建议和意见可以留下你的宝贵的意见。
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接