Flash 如何围绕一组对象旋转摄影机?(不使用3d引擎)
因此,我创建了一个三维点云,代码如下(flash 10.1 CS5):Flash 如何围绕一组对象旋转摄影机?(不使用3d引擎),flash,actionscript-3,3d,camera,point,Flash,Actionscript 3,3d,Camera,Point,因此,我创建了一个三维点云,代码如下(flash 10.1 CS5): 导入flash.display.Bitmap; 导入flash.display.BitmapData; var bmd:BitmapData=新的BitmapData(400400,true,0xffcccc); var xn:数字; var-yn:数字; var-zn:数量; var范数:个数; 变量c1:数值; var c2:数字; 变量c3:数值; 变量c4:数量; var计数器:int; 变量颜色:uint 同时(计
导入flash.display.Bitmap;
导入flash.display.BitmapData;
var bmd:BitmapData=新的BitmapData(400400,true,0xffcccc);
var xn:数字;
var-yn:数字;
var-zn:数量;
var范数:个数;
变量c1:数值;
var c2:数字;
变量c3:数值;
变量c4:数量;
var计数器:int;
变量颜色:uint
同时(计数器<100000)
{
xn=Math.random()*600-200;
yn=Math.random()*600-200;
zn=数学随机()*600-200;
norm=Math.sqrt(xn*xn+yn*yn+zn*zn);
c1=(1-标准/200)*255;
c2=(1-标准/250)*255;
c3=数学绝对值(xn)/标准值*255;
c4=数学绝对值(yn)/标准值*255;
color=(c1有一个javascript示例,说明如何在该链接的球体表面上创建螺旋:
你想要一个公式。你应该可以通过谷歌找到大量的公式
您将希望:
查找点云的中心点
设置相机朝向中心点
计算时间t时摄像机在拱形螺旋上的位置p
将相机位置设置为p
渲染和显示框架
从3开始重复,直到完成
import flash.display.Bitmap;
import flash.display.BitmapData;
var bmd:BitmapData = new BitmapData(400, 400, true, 0xFFCCCCCC);
var xn:Number;
var yn:Number;
var zn:Number;
var norm:Number;
var c1:Number;
var c2:Number;
var c3:Number;
var c4:Number;
var counter:int;
var color:uint
while (counter < 100000)
{
xn = Math.random() * 600 - 200;
yn = Math.random() * 600 - 200;
zn = Math.random() * 600 - 200;
norm = Math.sqrt(xn * xn + yn * yn + zn * zn);
c1 = (1 - norm / 200) * 255;
c2 = (1 - norm / 250) * 255;
c3 = Math.abs(xn) / norm * 255;
c4 = Math.abs(yn) / norm * 255;
color = (c1 << 24 | c2 << 16 | c3 << 8 | c4);
counter++;
var pointGraphicData = new BitmapData(1,1,true,color)
var pointGraphic:Bitmap = new Bitmap(pointGraphicData);
pointGraphic.x = xn;
pointGraphic.y = yn;
pointGraphic.z = zn;
addChild(pointGraphic);
}