vtkMouseCameraTrackballZoomToMouseManipulator
<p>vtkMouseCameraTrackballZoomToMouseManipulator 是 vtk.js 中用于控制相机缩放的工具。它通过鼠标移动来调整视图的缩放,并且专注于鼠标指针所在的位置。</p>
<p>主要特点
鼠标驱动缩放:根据鼠标指针的位置调整相机的缩放,提供更精确的控制。
轨球式交互:模仿轨球交互模型,使缩放操作更加自然直观。
使用方法</p>
<p>导入模块:</p>
<pre><code class="language-javascript">import vtkMouseCameraTrackballZoomToMouseManipulator from '@kitware/vtk.js/Interactions/Manipulators/MouseCameraTrackballZoomToMouseManipulator';
</code></pre>
<p>创建和配置:</p>
<pre><code class="language-javascript">const zoomManipulator = vtkMouseCameraTrackballZoomToMouseManipulator.newInstance();</code></pre>
<p>添加到交互器:</p>
<pre><code class="language-javascript">const interactor = vtkRenderWindowInteractor.newInstance();
interactor.setManipulator(zoomManipulator);</code></pre>
<p>示例代码</p>
<pre><code class="language-javascript">import vtk from '@kitware/vtk.js';
import vtkRenderer from '@kitware/vtk.js/Rendering/Core/Renderer';
import vtkRenderWindow from '@kitware/vtk.js/Rendering/Core/RenderWindow';
import vtkRenderWindowInteractor from '@kitware/vtk.js/Rendering/Core/RenderWindowInteractor';
import vtkMouseCameraTrackballZoomToMouseManipulator from '@kitware/vtk.js/Interactions/Manipulators/MouseCameraTrackballZoomToMouseManipulator';
// 初始化渲染器和渲染窗口
const renderer = vtkRenderer.newInstance();
const renderWindow = vtkRenderWindow.newInstance();
renderWindow.addRenderer(renderer);
// 初始化交互器和缩放操控器
const interactor = vtkRenderWindowInteractor.newInstance();
const zoomManipulator = vtkMouseCameraTrackballZoomToMouseManipulator.newInstance();
interactor.setRenderWindow(renderWindow);
interactor.setManipulator(zoomManipulator);
// 开始交互
interactor.initialize();
interactor.start();
</code></pre>
<p>总结</p>
<p>vtkMouseCameraTrackballZoomToMouseManipulator 通过鼠标移动控制相机缩放,使得在 3D 场景中进行详细浏览和导航变得更加简便直观。</p>