三维投影变换

三维投影变换是3D图形学的关键步骤,涉及相机空间到观察体的转换,包括正投影和透视投影。正投影保持物体大小不变,而透视投影则模拟真实世界的远近感。透视投影的非线性特性需要使用透视校正插值。本文探讨了投影矩阵的计算、推导以及在纹理映射中的应用。
摘要由CSDN通过智能技术生成

三维投影变换是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume,CVV)中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。通过投影,几何图形的3D坐标转换成屏幕上的2D坐标。通过指定投影,可以指定在窗口中显示的视景体(Viewing Volume),并指定如何对其进行变换。

正投影(Orthographic Projection)

又称平行投影,使用这种投影需要指定一个正方形或长方形的视景体,视景体之外的任何物体将被裁剪掉,不会被绘制。所有实际大小相同的物体在屏幕上都有相同的大小,不管远近。

public array orthographic_matrix(float l, float r, float t, float b, float n, float f)
{
    vector4 row0 = vector4( 2/(r-l), 0, 0, (l+r)/(l-r) );
    vector4 row1 = vector4( 0, 2/(t-b), 0, (b+t)/(b-t) );
    vector4 row2 = vector4( 0, 0, 2/(f-n), (n+f)/(n-f) );
    vector4 row3 = vector4( 0, 0, 0, 1 );
    return matrix_4(row0, row1, row2, row3);
}

透视投影(Perspective Projection)

在这种投影中,远处的物体看上去比近处的物体更小一些。它的视景体看上去像一个顶部被削平的金字塔,叫平截头体(frustum),观察方向从金字塔

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值