文章目錄
- 1. 概述
- 2. CMake鏈接VTK
- 3. main.cpp文件
- 4. 演示效果
更多精彩內容 |
---|
👉內容導航 👈 |
👉VTK開發 👈 |
1. 概述
計算一個點在一個平面上的投影。
vtkPlane 是 VTK(Visualization Toolkit)庫中的一個類,用于表示和操作三維空間中的平面。它繼承自 vtkImplicitFunction 抽象類,提供了各種平面計算方法。這些包括將點投影到平面上、計算平面方程式和返回平面法線。
模塊:
CommonDataModel
環境 | 說明 |
---|---|
系統 | ubuntu22.04、windows11 |
cmake | 3.22、3.25 |
Qt | 5.14.2 |
編譯器 | g++11.4、msvc2017 |
VTK | 9.4.1 |
2. CMake鏈接VTK
cmake_minimum_required(VERSION 3.20 FATAL_ERROR) # 設置CMake最低版本
project(vtk2) # 設置項目名稱
# 查找VTK庫
find_package(VTK COMPONENTS
CommonCore
CommonDataModel
)
if(NOT VTK_FOUND)
message("VTK not found")
return()
endif()add_executable(vtk2 main.cpp) # 添加可執行文件target_link_libraries(vtk2 PRIVATE ${VTK_LIBRARIES}) # 鏈接VTK庫
vtk_module_autoinit(TARGETS vtk2 MODULES ${VTK_LIBRARIES}) # 初始化VTK模塊
3. main.cpp文件
/********************************************************************************
* 文件名: main.cpp
* 創建時間: 2025-03-13 20:56:32
* 開發者: MHF
* 郵箱: 1603291350@qq.com
* 功能:
*********************************************************************************/
#include<iostream>
#include<vtkPlane.h>
#include<vtkNew.h>
using namespace std;int main()
{vtkNew<vtkPlane> plane; //創建一個平面plane->SetOrigin(0, 0, 0); //設置平面的原點plane->SetNormal(0, 0, 1); //設置平面的法向量double p[3] = {23.1, 54.6, 9.2}; //定義一個點double origin[3] = {0, 0, 0}; //定義原點double normal[3] = {0, 0, 1}; //定義法向量double projected[3]; // 定義投影點plane->ProjectPoint(p, origin, normal, projected); //計算點p在平面上的投影點cout << "投影點坐標為:" << projected[0] << ", " << projected[1] << ", " << projected[2] << endl; //輸出投影點的坐標return 0;
}
4. 演示效果
PS E:\Code\C++\vtk1\build\Debug> ."E:/Code/C++/vtk1/build/Debug/vtk2.exe"
投影點坐標為:23.1, 54.6, 0