Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 如何围绕一组对象旋转摄影机?(不使用3d引擎)_Flash_Actionscript 3_3d_Camera_Point - Fatal编程技术网

Flash 如何围绕一组对象旋转摄影机?(不使用3d引擎)

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 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
同时(计数器<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);
    }