Home Forums GAMES在线课程(现代计算机图形学入门)讨论区 三角形是否在相机的视锥体内?

Viewing 1 reply thread
  • Author
    Posts
    • #3333 Score: 0
      Angus
      Participant
      23 pts

      按照代码中的写法,给出的三角形在经过model&view transformation后,仍位于z负半轴,这时的project transformation是作用在z∈[0.1, 50]的,我理解这个变换仍可以作用到这些三角形上,但是其位置是否不符合预期了?

    • #3384 Score: 0
      sublimation
      Participant
      3 pts

      +1,我的理解也是不在的。而且应该是不符合预期的。
      假设n,f为正。将视锥压到长方体的时候,三角形的顶点坐标是在视锥外的,而且是视锥相对在原点的对侧,做了同样的变换后,感觉像是关于原点的小孔成像一样的变换(比例不太一样)。所以,再经过正交投影后可以有图形,我觉得是一个巧合,恰好经过将视锥压到长方体的矩阵计算后,还落在了被压缩的视锥体得到的长方体内,这样才在最后的结果有了成像(假如点在视锥外,z的改变,可能会造成变换后不在这个长方体内,可能就看不到了。而且如果这个z是接近于0,那么三角形会非常大,如果趋近于无穷,又会非常小)

      • #3386 Score: 0
        Angus
        Participant
        23 pts

        也就是说经过model&view transformation后的位于z负半轴三角形,在施加projection transformation后,其实是做了不符合预期的(视锥体外)变换,但恰好还落在[+-x,+-y]内,且虽然在相机“后面”,但由于没有对视锥体的近远平面进行裁切,仍然看得到三角形?

        • #3398 Score: 0
          sublimation
          Participant
          3 pts

          没错,我的理解和推导是这样的!

Viewing 1 reply thread
  • You must be logged in to reply to this topic.