自己免费怎么制作网站成品网站和模板建站

张小明 2026/1/12 0:24:42
自己免费怎么制作网站,成品网站和模板建站,网络管理系统的层次结构,wordpress get cat文章目录1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果更多精彩内容#x1f449;内容导航 #x1f448;#x1f449;VTK开发 #x1f448;1. 概述 本示例用于读取并可视化PDB格式的分子结构文件#xff0c;显示分子中的原子和化学键的3D模型#xff1b; PDB#xf…文章目录1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果更多精彩内容内容导航 VTK开发 1. 概述本示例用于读取并可视化PDB格式的分子结构文件显示分子中的原子和化学键的3D模型PDBProtein Data Bank是一种用于存储生物大分子三维结构数据的标准文件格式。它最初是为了存储蛋白质结构而设计的现在也广泛用于存储DNA、RNA、病毒和其他生物大分子的结构信息。核心组件和流程数据读取使用 vtkPDBReader 读取PDB文件设置氢键和B因子的缩放比例原子可视化根据原子数量动态计算适当的分辨率使用 vtkSphereSource创建球体表示原子通过 vtkGlyph3D将原子数据映射到球体上使用 vtkPolyDataMapper 和 vtkLODActor进行渲染化学键可视化使用 vtkTubeFilter 创建管状结构表示化学键使用 vtkPolyDataMapper 和 vtkLODActor进行渲染使用PDB文件下载地址VTK环境使用vcpkg安装使用vcpkg安装的VTK编译后会自动打包依赖的dll到可执行程序路径下方便程序运行手动编译和引入VTK看这里环境说明系统ubuntu22.04、windows11cmake3.22、3.25Qt5.14.2编译器g11.4、msvc2017VTK9.4.12. CMake链接VTKcmake_minimum_required(VERSION3.20FATAL_ERROR)# 设置CMake最低版本include(D:/vcpkg/scripts/buildsystems/vcpkg.cmake)# 引入vcpkg 《《《《《《project(vtk_vcpkg)# 设置工程名# 设置C标准set(CMAKE_CXX_STANDARD14)# 设置MSVC编译器使用UTF-8编码if(MSVC)set(CMAKE_CXX_FLAGS${CMAKE_CXX_FLAGS}/utf-8)endif()# 查找VTKfind_package(VTK COMPONENTS CommonColor FiltersCore FiltersSources IOChemistry InteractionStyle RenderingContextOpenGL2 RenderingCore RenderingFreeType RenderingGL2PSOpenGL2 RenderingLOD RenderingOpenGL2)if(NOT VTK_FOUND)# 如果VTK没有找到message(FATAL_ERRORVTK 没找到)# 报错return()endif()add_executable(${PROJECT_NAME}main.cpp)# 添加可执行文件target_link_libraries(${PROJECT_NAME}PRIVATE${VTK_LIBRARIES})# 链接VTK库# 设置VTK模块自动初始化vtk_module_autoinit(TARGETS${PROJECT_NAME}MODULES${VTK_LIBRARIES})3. main.cpp文件// 包含VTK库中的各种头文件用于3D可视化#includevtkGlyph3D.h#includevtkLODActor.h#includevtkNamedColors.h#includevtkPDBReader.h#includevtkPolyDataMapper.h#includevtkProperty.h#includevtkRenderWindow.h#includevtkRenderWindowInteractor.h#includevtkRenderer.h#includevtkSphereSource.h#includevtkTubeFilter.h// 包含标准库头文件#includecmath#includeiostream#includealgorithmusingnamespacestd;intmain(intargc,char*argv[]){// 定义要读取的PDB文件路径string filenameE:/VTK/vtk-data/Data/caffeine.pdb;vtkNewvtkPDBReaderpdb;// 创建PDB文件读取器对象pdb-SetFileName(filename.c_str());pdb-SetHBScale(1.0);// 设置氢键缩放因子pdb-SetBScale(1.0);// 设置B因子缩放pdb-Update();// 更新读取器执行读取操作vtkNewvtkNamedColorscolors;// 创建颜色管理对象vtkNewvtkRendererrenderer;// 创建渲染器对象用于显示数据// 设置渲染器背景色为石板灰(SlateGray)renderer-SetBackground(colors-GetColor3d(SlateGray).GetData());vtkNewvtkRenderWindowrenderWindow;// 创建渲染窗口对象renderWindow-AddRenderer(renderer);renderWindow-SetSize(600,600);vtkNewvtkRenderWindowInteractorinteractor;// 创建交互器对象interactor-SetRenderWindow(renderWindow);// 将渲染窗口设置给交互器// 计算合适的分辨率值基于原子数量调整球体精细度doubleresolutionsqrt(300000.0/pdb-GetNumberOfAtoms());coutResolution: resolutionendl;// 限制分辨率在4到20之间resolutionmax(1.0,min(resolution,20.0));// 创建球体源用于表示原子vtkNewvtkSphereSourcesphere;sphere-SetCenter(0,0,0);// 设置球心坐标sphere-SetRadius(1);// 设置球半径// 根据计算出的分辨率设置球体的经线和纬线数sphere-SetThetaResolution(static_castint(resolution));// 经线数sphere-SetPhiResolution(static_castint(resolution));// 纬线数// 创建字形过滤器用于将原子数据映射到球体上将输入数据集中的每个点替换为一个几何图形vtkNewvtkGlyph3Dglyph;glyph-SetInputConnection(pdb-GetOutputPort());// 设置输入数据源glyph-SetOrient(1);// 启用方向设置0/1glyph-SetColorMode(VTK_COLOR_BY_SCALAR);// 设置颜色模式根据输入数据的标量值来为每个glyph分配颜色// glyph-ScalingOn(); // 启用缩放glyph-SetScaleMode(VTK_SCALE_BY_VECTORCOMPONENTS);// 设置缩放模式glyph-SetScaleFactor(0.25);// 设置缩放因子控制最终显示大小glyph-SetSourceConnection(sphere-GetOutputPort());// 设置球体作为源数据// 创建多边形数据映射器用于原子显示为 vtkActor 提供渲染所需的所有信息vtkNewvtkPolyDataMapperatomMapper;atomMapper-SetInputConnection(glyph-GetOutputPort());// 设置输入连接接收来自上游过滤器的数据atomMapper-UseLookupTableScalarRangeOff();// 控制是否使用查找表定义的标量范围来映射颜色atomMapper-ScalarVisibilityOn();// 启用或禁用标量数据的可见性即是否根据标量数据对几何体进行着色atomMapper-SetScalarModeToDefault();// 使用默认的标量映射模式使用标量数据进行颜色映射// 创建LOD Actor支持多层细节的演员专门用于处理大规模数据集的高效渲染vtkNewvtkLODActoratom;atom-SetMapper(atomMapper);// 设置映射器// atom-GetProperty()-SetRepresentationToPoints(); // 只渲染几何体的顶点// atom-GetProperty()-SetRepresentationToWireframe(); // 渲染几何体的边框线条atom-GetProperty()-SetRepresentationToSurface();// 渲染完整的表面// atom-GetProperty()-SetInterpolationToFlat(); // 平面着色渲染速度快但效果粗糙atom-GetProperty()-SetInterpolationToGouraud();// 高洛德着色基于顶点颜色进行线性插值在多边形内部进行颜色平滑过渡平衡了质量和性能// atom-GetProperty()-SetInterpolationToPhong(); // 冯氏着色最真实的光照表现计算量最大atom-GetProperty()-SetAmbient(0.1);// 设置环境光系数[0, 1]atom-GetProperty()-SetDiffuse(0.7);// 设置漫反射系数atom-GetProperty()-SetSpecular(0.5);// 设置镜面反射系数atom-GetProperty()-SetSpecularPower(80);// 设置镜面反射强度atom-GetProperty()-SetSpecularColor(colors-GetColor3d(White).GetData());// 设置镜面反射颜色atom-SetNumberOfCloudPoints(pdb-GetNumberOfAtoms());// 使用 PDB 文件中包含的原子总数设置点云数量renderer-AddActor(atom);// 将原子Actor添加到渲染器// 创建管状过滤器用于绘制化学键vtkNewvtkTubeFiltertube;tube-SetInputConnection(pdb-GetOutputPort());// 设置输入数据源tube-SetNumberOfSides(static_castint(resolution));// 设置管状体侧面数tube-CappingOff();// 关闭封顶tube-SetRadius(0.2);// 设置管半径tube-SetVaryRadius(0);// 设置半径变化模式tube-SetRadiusFactor(10);// 设置半径因子// 创建多边形数据映射器用于化学键显示vtkNewvtkPolyDataMapperbondMapper;bondMapper-SetInputConnection(tube-GetOutputPort());// 设置输入连接bondMapper-UseLookupTableScalarRangeOff();// 不使用查找表标量范围bondMapper-ScalarVisibilityOff();// 关闭标量可见性bondMapper-SetScalarModeToDefault();// 设置默认标量模式// 创建LOD Actor用于高效渲染化学键vtkNewvtkLODActorbond;bond-SetMapper(bondMapper);// 设置映射器bond-GetProperty()-SetRepresentationToSurface();// 设置表面表示bond-GetProperty()-SetInterpolationToGouraud();// 设置高洛德着色插值bond-GetProperty()-SetAmbient(0.1);// 设置环境光系数bond-GetProperty()-SetDiffuse(0.7);// 设置漫反射系数bond-GetProperty()-SetSpecular(0.5);// 设置镜面反射系数bond-GetProperty()-SetSpecularPower(80);// 设置镜面反射强度bond-GetProperty()-SetSpecularColor(colors-GetColor3d(White).GetData());// 设置镜面反射颜色renderer-AddActor(bond);// 将化学键Actor添加到渲染器// 设置窗口名称并启动渲染和交互循环renderWindow-SetWindowName(PDBReader);// 设置窗口标题renderWindow-Render();// 渲染场景interactor-Initialize();// 初始化交互器interactor-Start();// 开始事件循环returnEXIT_SUCCESS;// 正常退出程序}4. 演示效果
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

手机触屏网站制作软件中企动力做网站

还在为NLP项目中的词语语义表示而苦恼?想要快速构建一个能够理解文本深层含义的智能系统?GloVe词向量技术正是你需要的终极解决方案。本文将带你从零开始,用30分钟构建完整的文本语义分析系统,无需深厚技术背景,只需跟…

张小明 2026/1/12 0:22:31 网站建设

hk域名网站网站建设做的人多吗

🌟 今日总结 休息充足后,神清气爽地回顾了昨日在凤希AI伴侣上的开发与优化工作。核心感悟是:任何优秀工具都是千锤百炼的结果,AI应用尤其如此。真正的价值在于深度使用和持续调教,将其无缝融入工作流,解决…

张小明 2026/1/12 0:18:08 网站建设

网站建设无广告徐家汇网站建设

文章目录一、5 Why 分析法1、概念简介2、核心原则3、实施步骤4、关键技巧5、常见误区6、案例分析在 【思维模型】第一性原理 ② ( 利用 “ 第一性原理 “ 进行创新 : 归零 -> 解构 -> 重构 | 跨学科学习 ) 博客中 , 屡次提到了 5 Why 分析法 , 本篇博客简…

张小明 2026/1/12 0:15:56 网站建设

youku网站开发技术网络营销策划方案15篇要求

第一章:工业污染源追踪的挑战与R语言优势在现代环境监测体系中,工业污染源的精准追踪是实现可持续发展的关键环节。然而,污染数据通常具有高维度、非线性以及时空异质性等特点,给传统分析方法带来巨大挑战。污染源追踪的核心难点 …

张小明 2026/1/12 0:13:44 网站建设

网站做app的软件叫什么微信公众号网址

工程仿真许可协同:多软件依赖分析负载均衡避免冲突实践作为一名在IT部门工作多年的管理者,我经常会遇到企业在使用多个工程仿真软件时出现的许可冲突问题。这个问题看似简单,但实际处理起来却非常复杂。特别是在2025年,企业对复杂…

张小明 2026/1/12 0:11:41 网站建设