3d 方法以正交方式显示场景的一部分

3d 方法以正交方式显示场景的一部分,3d,three.js,webgl,3d,Three.js,Webgl,我使用three.js渲染了一个相当简单的场景。我试图渲染场景的一部分,就像核磁共振成像一样 为了测试,我制作了两个版本的场景 这是一个透视图版本,非常好用 一种正交版本,只应是给定平面上场景的一部分 渲染正交场景没有问题。我曾尝试使用剪切平面捕捉切片,但无法使其工作。要么我得到一个完全白色的屏幕,要么整个模型 以下是我希望实现的目标的自上而下的观点: 100 *----------------------------------* |

我使用three.js渲染了一个相当简单的场景。我试图渲染场景的一部分,就像核磁共振成像一样

为了测试,我制作了两个版本的场景

  • 这是一个透视图版本,非常好用
  • 一种正交版本,只应是给定平面上场景的一部分
  • 渲染正交场景没有问题。我曾尝试使用剪切平面捕捉切片,但无法使其工作。要么我得到一个完全白色的屏幕,要么整个模型

    以下是我希望实现的目标的自上而下的观点:

    100 *----------------------------------*
        |                                  |
        |                                  |
        |                                  |
        |                                  |
        ####################################  <-- Capture this slice of 100 units width
        |                                  |
        |                                  |
        |                                  |
        |                                  |
     0  *----------------------------------*
        0                                  100
    
    
    
    
    
                        \  /
                         \/
                       CAMERA roughly @ (50, -100)
    
    100*----------------------------------*
    |                                  |
    |                                  |
    |                                  |
    |                                  |
    
    ####################################答案是摄像机的位置。事后看来,很明显,摄像机不应像透视投影所需的那样从场景中后退。将相机放置在模型的正边缘完成了此操作,剪裁平面(近、远)工作正常

    例如:

    Z
    100 *----------------------------------*
    |                                  |
    |                                  |
    75  |                                  |
    |                                  |
    |                                  |
    50  |                                  |
    |                                  |
    |                                  |
    
    5月25日的摩摩摩摩托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托托行动?我真的对结果很感兴趣!干杯
        Z
    100 *----------------------------------*
        |                                  |
        |                                  |
    75  |                                  |
        |                                  |
        |                                  |
    50  |                                  |
        |                                  |
        |                                  |
    25  ####################################  <-- Capture this slice of 5 units
        |                                  |      width @ z = 25
        |                                  |
     0  *-----------------X----------------* Y
        0                 .                100
                          .
                          .
                       CAMERA is here at (50,0)
                       near = 25
                       far  = 30 (for width 5, ie: 25 + 5)