Flash与数学:椭球面
在平面的时候,圆可以认为是椭圆一个特例,而球面也可以认为球椭球面一个特例,但是两者依旧会存在一些差别。这一些差别会产生不同的形状,查阅了一些关于椭球面的资料很皮毛了解一些。
椭球体的方程表示: x2 /a2+y2/b2+z2/c2=1;
参数方程:
(该图片来源于网络)
通常(a≥b≥c>0) (0≤θ≤2π,0≤φ≤π)
a b c 分别代表 长轴 中轴 短轴
下面收集一些知识点:截图
然后我们通过编程模拟出一个简单的效果:
其中var ball:Ball=new Ball(); 是通过库链接出来一个普通元件,可以进行添加 修改
package
{
import flash.display.Sprite;
import flash.events.*;
import flash.geom.PerspectiveProjection;
public class Main extends Sprite
{
private var a:int=200;//用于椭圆的球体
private var b:int=80;
private var c:int=60;
private var centerX:Number=stage.stageWidth/2;
private var centerY:Number=stage.stageHeight/2;
private var contain:Sprite=new Sprite();//创建容器
public function Main()
{
addChild(contain);
contain.x=centerX;
contain.y=centerY;
createEllipsoid();
root.transform.perspectiveProjection.fieldOfView=120;//初始化透视角度
addEventListener(Event.ENTER_FRAME,Run);
}
//创建椭球体
private function createEllipsoid ():void
{
for (var i:int=0; i<180; i+=20)
{ //纬度
for (var j:int=0; j<360; j+=20)
{
//经度
var ball:Ball=new Ball();
contain.addChild(ball);
ball.x=a*Math.sin(i*Math.PI/180)*Math.cos(j*Math.PI/180);
ball.z=b*Math.sin(i*Math.PI/180)*Math.sin(j*Math.PI/180);
ball.y=c*Math.cos(i*Math.PI/180);
}
}
}
private function Run(event:Event):void
{
contain.rotationY+=0.3;
}
}
}
生成一些效果:
小结:
更改abc 的值会产生不一样的变化,复制的数也改变一下 会产生令人意想不到的美感在这里。对这方面的知识来讲,仅仅冰山一角,因为涉及的高等数学还是很多需要去理解,而这一部分个人而言依旧是很空白,只能查询一些资料来看。但是个人会继续探讨完善这一部分知识。鉴
相关文档:
Flash 嵌入的问题论坛中有人问了好多次,到底应该怎么用,为什么通不过验证,要通过验证怎么办等等等。
讨论中也出现了不少的误解,所以我单开一个帖总结一下我所知道的东西,不想看我罗嗦的直接跳到最后看结论就可以了。
一、传统的方法
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
&nbs ......
现在有个灵感,那就是通过鼠标拖动这些小球,鼠标移动的时候,那些小球会跟踪鼠标目标移动。这些只要使用flash 绘图API制作,
就能够完成;
第一步:随机创造一些小球
private function creatBall():void
{
for (var i:int=0; i<10; i++)
{
var ball:Ball=new Ball();
addChild(ball);
l ......
var aa:Boolean = true;
my_btn.onPress = function() {
if (aa == true) {
fscommand("fullscreen", true);
aa = false;
} else {
fscommand("fullscreen", false);
aa = true;
}
};
my_btn是一个按钮 ......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Yimin</t ......
/etc/fonts/conf.d/
编辑的文件为
sudo gedit ./49-sansserif.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--
If the font still has no generic name, add sans-serif
-->
<match target="p ......