2010-12-17 3 views
0

Je crée un nuage de points, en 3D avec le code comme (Flash 10.1 CS5):Comment faire pivoter la caméra autour d'un groupe d'objets? (Ne pas utiliser les moteurs 3d)

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

Comment déplacer et faire pivoter la caméra qui donne sur l'écran dans la sphère comme chemin

alt text

autour de la boîte créée?

Répondre

0

Vous voulez un Archimedian Spiral. Vous devriez être capable de trouver des tonnes d'équations via google.

Vous voulez:

  1. point central Trouver du nuage de points
  2. Set point central face à la caméra
  3. position Calculer p de la caméra à temps t sur spirale archimédien
  4. Définir la position de la caméra sur p
  5. Rendu et d isplay frame
  6. Répéter de 3. jusqu'à la fin
Questions connexes