如何围绕一组物体旋转相机? (不使用3d引擎)

时间:2010-12-17 17:07:54

标签: flash actionscript-3 3d camera point

所以我创建了一个点云,在3d中使用代码(flash 10.1 CS5):

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);
}  

如何移动和旋转相似于路径的屏幕上的相机

alt text

围绕创建的框?

2 个答案:

答案 0 :(得分:0)

有一个javascript示例,说明如何在此链接的球体表面上创建螺旋:

http://lines-about-to-be-generated.blogspot.com/2009/06/image-spiral-sphere.html

答案 1 :(得分:0)

你想要一个Archimedian Spiral。你应该能够通过谷歌找到大量的方程式。

你想要:

  1. 找到点云的中心点
  2. 设置相机朝向中心点
  3. 在Archimedian螺旋上 t 时计算相机的位置 p
  4. 将相机位置设为 p
  5. 渲染并显示框架
  6. 从3.重复完成