问题三十五: 怎么用ray tracing画二次曲面(quadratic surfaces)(1)——椭球面

二次曲面包括:球面、椭圆球面、单页双曲面、双页双曲面、椭圆锥面、椭圆柱面、椭圆抛物面、双曲抛物面等等。

注意到:只有球面和椭球面是封闭面,其他的都是开放面。


二次曲面是有方程的(我们已经学过的多边形、长方体等是没有方程的),所以其画法应该要比多边形和长方体要简单。思路是这样的:

1,联立曲面方程和光线方程。判断光线是否撞击曲面;求得撞击点到光线起点的距离t;

2,将t代入光线方程求得撞击点坐标pi;

3,对方程求x、y、z的偏导数,然后将pi代入偏导数得到撞击点处的法向量

 

35.1 椭球面

和球面的画法非常接近,也是除球面之外最容易画的二次曲面了。

35.1.1 数学推导

椭球面的方程:


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值