Пример #1
0
    PC_rotated = m.dot(PC)

    # Define radius vector
    vecR = geo.twoPts2Vec(PO, PC_rotated) * R
    vecR_size = geo.normVec(vecR)

    # Define viewing vectors
    vec = geo.twoPts2Vec(PC_rotated, Ppx_rotated)

    # Call function
    vecView = geo.projectVecs2Depth(T, vecR, vec)
    vecView_size = geo.normVec(vecView)

    # Update viewing vectors
    vec = vecView - vecR.reshape((1, 1, 3))
    vec_size = geo.normVec(vec)

    # Plot
    p.plotVec(vecR, PO, 'r', vecR_size)
    p.plotPoint(PC_rotated, '.g')
    for i in range(h):
        for j in range(w):
            p.plotVec(vecView[i, j, :].reshape((3, 1)),
                      PO, 'm',
                      vecView_size[i, j])
            p.plotVec(vec[i, j, :].reshape((3, 1)),
                      PC_rotated, 'g',
                      vec_size[i, j])
    p.plotAxis()
    p.show(90, 180)