3

位置以外に、パンを使用するとthree.jsパースペクティブカメラで何が変わりますか? または、どのようにVTKと同期できますか。回転とズームは、VTK three.js パースペクティブ カメラ パラメータに与えるだけで同期します。Python での Pan のコードは次のとおりです。

 def pan(self, start_x, start_y, dx, dy):
        '''
        Moving the model.
        '''
        end_x = start_x + dx
        end_y = start_y + dy
        dx = dx * self.world_coords_to_pixel_ratio
        dy = dy * self.world_coords_to_pixel_ratio
        matrix = self.renderer.GetActiveCamera().GetViewTransformMatrix()
        inverted_matrix = vtkMatrix4x4()
        dz = 0
        matrix.Invert(matrix, inverted_matrix)
        x, y, z = self.src_actor.GetPosition()
        dx, dy, dz = self._multiply_vtkMatrix4x4_by_vector(inverted_matrix,
            [dx, -dy, 0])
        camera = self.renderer.GetActiveCamera()
        self.src_actor.SetPosition(x + dx, y + dy, z + dz)
        self.selection_actor.SetPosition(x + dx, y + dy, z + dz)
        self.axes_and_bounding_box_actor.SetBounds(self.src_actor.GetBounds())
        self.renderer.ResetCameraClippingRange()

three.js で私は TrackballControls を使用します

4

0 に答える 0