0

所以我不使用 3d 引擎创建了一个点云,而是使用了一个烘焙到 flash 中的点云:

import flash.display.Bitmap;
import flash.display.BitmapData;

var bmd:BitmapData = new BitmapData(400,400,true,0x00000000);

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 < 20000)
{
    xn = Math.random() * 400;
    yn = Math.random() * 400;
    zn = Math.random() * 400;
    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);
}
stage.addEventListener(MouseEvent.MOUSE_MOVE, handleMouseMove );
this.x = 150;
this.y = 150;
this.z = 450;
function handleMouseMove( event:MouseEvent ):void
{
    this.rotationX = 0 - event.localX;
    this.rotationY = 0 - event.localY;
    this.rotationZ = 0 - Math.sqrt((event.localX * event.localX + event.localY * event.localY ));
}

所以它是一个谨慎的简单代码。如何使我的观点有两个方面或始终面对面?

4

1 回答 1

0

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

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

于 2010-12-21T01:38:19.117 回答