2013-07-20 109 views
0

所以这里是我的视口类为我非常简单的光线跟踪器。三维视口到二维图像

public sealed class ViewPort 
{ 
    public readonly Rectangle3D Rectangle; 

    public readonly int Width; 
    public readonly int Height; 

    public Bitmap Image { get; private set; } 

    public ViewPort(Rectangle3D rec, int width, int height) 
    { 
     this.Rectangle = rec; 

     this.Width = width; 
     this.Height = height; 

     this.Image = new Bitmap(this.Width, this.Height); 
    } 

    public bool TryRecord(Ray ray) 
    { 
     Point3D cross; 
     if (this.Rectangle.Intersect(ray, out cross)) 
     { 
      this.Image.SetPixel(cross...,ray.Light); 
     } 
     else 
     { 
      return false; 
     } 
    } 
} 

好吧,那么现在如何将三维点映射到二维图像?非常感谢帮助。谢谢。

+0

你想有透视投影公式?或者你想遮蔽2D图像平面的像素? – phantasmagoria

回答