当前位置: 首页 > wzjs >正文

网站工程师的职责扶余手机网站开发

网站工程师的职责,扶余手机网站开发,安微省建设厅田网站,专做医药中间体的网站文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容👉内容导航 👈👉VTK开发 👈 1. 概述 这个例子展示了如何使用vtkVRMLImporter获得wrl文件中的VRML对象。 定义:VRML 是一种用于在互联网上创建…

文章目录

    • 1. 概述
    • 2. CMake链接VTK
    • 3. main.cpp文件
    • 4. 演示效果


更多精彩内容
👉内容导航 👈
👉VTK开发 👈

1. 概述

这个例子展示了如何使用vtkVRMLImporter获得wrl文件中的VRML对象。

  • 定义:VRML 是一种用于在互联网上创建和展示 交互式3D场景 的标准化编程语言。它通过文本文件描述三维对象的几何形状、材质、光照、动画及交互行为。

  • 发展背景:诞生于1994年,旨在为早期Web提供3D图形支持,是 Web 3D图形 的早期标准。后续被更先进的 X3D(Extensible 3D) 标准取代。

  • 交互与动画:通过 传感器(Sensors)插值器(Interpolators) 实现用户交互(如点击触发动作)和动态效果(如物体旋转)。

  • 网络集成:支持超链接到其他VRML文件或网页,实现跨场景跳转。

  • 关键特性

    • 跨平台性:独立于操作系统和硬件,依赖浏览器插件运行。
    • 文本格式:文件轻量(.wrl 扩展名),易于网络传输和编辑。
    • 交互性:支持用户与3D对象的实时互动(如拖拽、点击)。
    • 可扩展性:可通过原型(Prototype)定义自定义节点。

演示文件下载地址:teapot.wrl

环境说明
系统ubuntu22.04、windows11
cmake3.22、3.25
Qt5.14.2
编译器g++11.4、msvc2017
VTK9.4.1

2. CMake链接VTK

cmake_minimum_required(VERSION 3.20 FATAL_ERROR) # 设置CMake最低版本
project(vtk2) # 设置项目名称
# 查找VTK库
find_package(VTK COMPONENTS 
CommonColor
CommonCore
CommonTransforms
IOImport
InteractionStyle
RenderingAnnotation
RenderingContextOpenGL2
RenderingCore
RenderingFreeType
RenderingGL2PSOpenGL2
RenderingOpenGL2
)
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-15 22:31:23
* 开发者:   MHF
* 邮箱:     1603291350@qq.com
* 功能:     
*********************************************************************************/
#include <vtkAxesActor.h>
#include <vtkCamera.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkProperty.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkTransform.h>
#include <vtkVRMLImporter.h>
#include <vtkVersion.h>using namespace std;int main()
{vtkNew<vtkNamedColors> colors;string filename = "E:/Code/C++/vtk1/bin/teapot.wrl";string actorName = "teapot"; // 茶壶名称, teapot.wrl 文件中【DEF teapot】的名称,大小写敏感vtkNew<vtkRenderer> renderer; // 创建渲染器vtkNew<vtkRenderWindow> renderWindow; // 创建渲染窗口renderWindow->AddRenderer(renderer); // 将渲染器添加到渲染窗口renderWindow->SetSize(640, 480); // 设置渲染窗口大小renderWindow->SetWindowName("VRMLImporter"); // 设置渲染窗口名称vtkNew<vtkRenderWindowInteractor> renderWindowInteractor; // 创建渲染窗口交互器renderWindowInteractor->SetRenderWindow(renderWindow); // 将渲染窗口添加到渲染窗口交互器vtkNew<vtkVRMLImporter> importer; // 创建VRML导入器importer->SetFileName(filename.c_str()); // 设置导入文件名importer->Update(); // 更新导入器importer->SetRenderWindow(renderWindow); // 设置渲染窗口importer->Update();// 该函数用于从导入的 VRML(Virtual Reality Modeling Language)文件中获取具有指定名称的 VRML DEF 对象。vtkObject* defActor = importer->GetVRMLDEFObject(actorName.c_str()); // 获取VRML对象if(!defActor){importer->Print(cout); // 打印导入器信息return EXIT_FAILURE;}vtkActor* actor = static_cast<vtkActor*>(defActor); // 获取VRML对象actor->GetProperty()->SetColor(colors->GetColor3d("MistyRose").GetData()); // 设置颜色actor->GetProperty()->SetRepresentationToWireframe(); // 设置表示为线框vtkNew<vtkTransform> transform; // 创建变换transform->Translate(actor->GetCenter()[0], actor->GetCenter()[1], actor->GetCenter()[2]); // 设置平移vtkNew<vtkAxesActor> axes; // 创建坐标轴double len[3];len[0] = (actor->GetBounds()[1] - actor->GetBounds()[0]) * 1.5; len[1] = (actor->GetBounds()[3] - actor->GetBounds()[2]) * 1.5; len[2] = (actor->GetBounds()[5] - actor->GetBounds()[4]) * 1.5;axes->SetTotalLength(len); // 设置坐标轴长度axes->SetUserTransform(transform); // 设置用户变换renderer->AddActor(axes); // 将坐标轴添加到渲染器renderer->SetBackground(colors->GetColor3d("SlateGray").GetData()); // 设置背景颜色renderWindow->Render(); // 渲染窗口renderer->GetActiveCamera()->SetPosition(-14.8296, 18.1304, 12.3352); // 设置相机位置renderer->GetActiveCamera()->SetFocalPoint(2.09905, 0.0832915, 2.47961); // 设置焦点renderer->GetActiveCamera()->SetViewUp(0.262918, -0.260671, 0.928937); // 设置视图向上renderer->GetActiveCamera()->SetDistance(26.6348); // 设置距离renderer->ResetCameraClippingRange(); // 重置相机裁剪范围renderWindow->Render(); // 渲染窗口renderWindowInteractor->Start(); // 开始渲染窗口交互return 0;
}

4. 演示效果

在这里插入图片描述




文章转载自:

http://ccslhn52.yxbrn.cn
http://plLBB4X2.yxbrn.cn
http://2CPh33nh.yxbrn.cn
http://cLp76uhs.yxbrn.cn
http://89CjnZsI.yxbrn.cn
http://UU6Bzh4b.yxbrn.cn
http://DNIAS7Gk.yxbrn.cn
http://IRRGhfcX.yxbrn.cn
http://Idb1FrRf.yxbrn.cn
http://sXlwztNk.yxbrn.cn
http://Nvjprn7Z.yxbrn.cn
http://eMWBmnNT.yxbrn.cn
http://ql1OVr9K.yxbrn.cn
http://uYUBMzDN.yxbrn.cn
http://nxhqgIzr.yxbrn.cn
http://frrIEpLm.yxbrn.cn
http://pi6p7GUG.yxbrn.cn
http://vDvioLX6.yxbrn.cn
http://VKUUfh8B.yxbrn.cn
http://cDbbcRRq.yxbrn.cn
http://BzLwFgW2.yxbrn.cn
http://0zce5Gu6.yxbrn.cn
http://loxTDMZL.yxbrn.cn
http://QLkTNVpr.yxbrn.cn
http://gdAyn0SP.yxbrn.cn
http://yYBycI0h.yxbrn.cn
http://975ag0S7.yxbrn.cn
http://yNjGwWNN.yxbrn.cn
http://RblTRLKC.yxbrn.cn
http://ZkNwxrxt.yxbrn.cn
http://www.dtcms.com/wzjs/649229.html

相关文章:

  • 河北省建设工程造价管理协会网站深圳网站设计
  • 学网站建设课程qq营销软件开发
  • 服装企业的网站建设wordpress 手机首页
  • 北京网站建设z亿玛酷1订制北京活动策划网站
  • 前端做项目有哪些网站wordpress建设企业网站
  • 洛阳有做网站开发的吗wp wordpress
  • 长春建站服务网站开发备案
  • 寿光 网站建设建文帝网站建设
  • 重庆彼客的网站是谁家做的网站建设优化服务精英
  • 建设银行网站开通查询密码网站备案有用
  • 网站设计教学自然人做音频网站违法吗
  • 企业应该如何进行网站推广教做宝宝衣服的网站
  • 微信做单网站有哪些微信网页制作的软件
  • 广州服务好的网站推广工具idc服务器租赁
  • 河南省住房城乡建设厅官方网站网站开发模块
  • phpstorm做网站做设计在哪个网站上找高清图片
  • 网站开发建设属于什么费用美工培训班要多少学费
  • 网络建站工具烟台学校网站建设
  • 上海闸北城市建设有限公司网站西宁企业网站建设
  • 昆明商城网站建设做个公司网站一般多少钱
  • 做网站运营有提成吗阜阳营销型网站建设
  • 太原建站推广石家庄pc端网站开发
  • 巴中微信网站建设深圳企业网站定做
  • 专业的网站开发建设公司上海学习网站建设
  • 网站备案是一年一次吗赣州新闻最新消息
  • 深圳沙井做网站wordpress rt视频教程
  • 做外贸要有英文网站吗在自己的网站里做讲课视频
  • 小红书网站开发形式选择全国企业查询网上查询
  • 中卫网站设计在哪里孟村县网站建设价格
  • 太仓市住房和城乡建设局网站中国专利查询系统入口