I'm a Chicago transplant living in Salt Lake City, Utah. I have a physics degree from Reed College, but discovered computers when Professor Nicolas Wheeler forced me to do a ray tracing program in 1984. It was 2D ray tracing to do a caustic on a Vax and writing out the picture to a green Techtonix terminal. This convinced me to go to grad school in computer science at Illinois. I have been ray tracing ever since. I've done stints in various universities and companies and am currently in my own start-up company doing VR which is common but not using HMDs which is not!
AI导读
核心看点
涵盖光线追踪与光栅化两大核心渲染技术
深入讲解采样理论、纹理映射及空间数据结构
强调几何直觉,清晰阐释图像生成底层原理
读者共识
图形学领域经典教材,内容全面且权威
作者擅长化繁为简,概念解释清晰易懂
部分章节细节繁琐,适合查阅参考而非通读
精彩摘录
"The principal difference is between a single rotation and two different orthogonal matrices. This difference causes another, less important, difference. Because the SVD has different singular vectors on the two sides, there is no need for negative Singular values: we can always flip the sign of a si"
"However, this type of transformation, in which one of the coordinates of the input vector appears in the denominator, can’t be achieved using affine transformations. We can allow for division with a simple generalization of the mechanism of homogeneous coordinates that we have been using for affine "
"Managing coordinate systems is one of the core tasks of almost any graphics program; key to this is managing orthonormal bases."
"The advantages of parallel projection are also its limitations. In our everyday experience (and even more so in photographs) objects look smaller as they get farther away, and as a result parallel lines receding into the distance do not ap- pear parallel. This is because eyes and cameras don’t colle"
"1.Rotate v_1 and v_2 to the x- and y-axes (the transform by R^T). 2.Scale in x and y by (λ_1,λ_2)(the transform by S). 3.Rotate the x- and y-axes back to v_1 and v_2 (the transform by R). Looking at the effect of these three transforms together, we can see that they have the effect of a nonuniform s"
"If you like to count dimensions: a symmetric 2×2 matrix has 3° of freedom, and the eigenvalue decomposition rewrites them as a rotation angle and two scale factors."
"A very similar kind of decomposition can be done with non symmetric matrices as well: it's the singular value decomposition(SVD), also discussed in section 6.4.1. The difference is that the matrices on either side of the dialogue matrix are no longer the same: A=USV^T The two orthogonal matrices tha"
"In summary, every matrix can be decomposed via SVD into a rotation times a scale times another rotation. Only symmetric matrices can be decomposed via eigenvalue diagonalization into a rotation times a scale times the inverse-rotation, and such matrices are a simple scale in an arbitrary direction. "