线段的透视投影

时间:2013-11-24 11:37:02

标签: math graphics 3d geometry perspective

当我在2D屏幕上投射3d点时,我使用

    if( z > 1.0 )                   
     {
      screen_x = (x/z)*500;         
      screen_y = (y/z)*500;
     }

这是我可以扔掉所有'后方'点 规模前点

但现在我需要投射/投射线段 - 到 2d然后我可以画它为2d线

有些情况是线段的一个点是 在前方空间,但另一个在后方空间 - 如何施放 后方空间点,所以我可以把它画成2d线?

很多回答

1 个答案:

答案 0 :(得分:1)

这将按照你的要求行事:

screen_x = (x/(|z|+1.0))*500;         
screen_y = (y/(|z|+1.0))*500;