0

所以我创建了一个点云,在 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);
}  

如何移动和旋转在球状路径中看向屏幕的相机

替代文字

围绕创建框?

4

2 回答 2

0

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

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

于 2010-12-21T01:37:31.177 回答
0

你想要一个阿基米德螺旋。你应该能够通过谷歌找到大量的方程。

你会想要:

  1. 找到点云的中心点
  2. 设置相机朝向中心点
  3. 在阿基米德螺旋上计算相机在时间t的位置p
  4. 将相机位置设置为p
  5. 渲染和显示框架
  6. 从 3. 重复直到完成
于 2016-01-14T17:05:33.647 回答