有哪些文本封面做的好的网站上海建设网站制作

张小明 2026/1/10 12:31:27
有哪些文本封面做的好的网站,上海建设网站制作,网站上文章加入音乐是怎么做的,注册公司注册一#xff1a;主要的知识点 1、说明 本文只是教程内容的一小段#xff0c;因博客字数限制#xff0c;故进行拆分。主教程链接#xff1a;vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①MarchingCubes等值面重建的原理展示 二主要的知识点1、说明本文只是教程内容的一小段因博客字数限制故进行拆分。主教程链接vtk教程——逐行解析官网所有Python示例-CSDN博客2、知识点纪要本段代码主要涉及的有①MarchingCubes等值面重建的原理展示二代码及注释import vtkmodules.vtkRenderingOpenGL2 from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkCommonCore import vtkFloatArray, vtkIdList, vtkPoints from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, VTK_HEXAHEDRON from vtkmodules.vtkCommonTransforms import vtkTransform from vtkmodules.vtkFiltersCore import vtkContourFilter, vtkGlyph3D, vtkThresholdPoints, vtkTubeFilter from vtkmodules.vtkFiltersCore import vtkExtractEdges from vtkmodules.vtkFiltersGeneral import vtkShrinkPolyData, vtkTransformPolyDataFilter from vtkmodules.vtkFiltersSources import ( vtkCubeSource, vtkSphereSource ) from vtkmodules.vtkRenderingCore import ( vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) from vtkmodules.vtkRenderingFreeType import vtkVectorText Scalars vtkFloatArray() def main(): cases [case0, case1, case2, case3, case4, case5, case6, case7, case8, case9, case10, case11, case12, case13, case14] colors vtkNamedColors() rotation 0 renderers list() gridSize ((len(cases) 3) // 4) * 4 renWin vtkRenderWindow() renWin.SetSize(640, 480) iren vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) for i in range(0, 16): renderer vtkRenderer() renderers.append(renderer) renderers[i].SetBackground(colors.GetColor3d(slate_grey)) renWin.AddRenderer(renderer) for i in range(0, len(cases)): Scalars vtkFloatArray() Scalars.InsertNextValue(1.0) Scalars.InsertNextValue(0.0) Scalars.InsertNextValue(0.0) Scalars.InsertNextValue(1.0) Scalars.InsertNextValue(0.0) Scalars.InsertNextValue(0.0) Scalars.InsertNextValue(0.0) Scalars.InsertNextValue(0.0) Points vtkPoints() Points.InsertNextPoint(0, 0, 0) Points.InsertNextPoint(1, 0, 0) Points.InsertNextPoint(1, 1, 0) Points.InsertNextPoint(0, 1, 0) Points.InsertNextPoint(0, 0, 1) Points.InsertNextPoint(1, 0, 1) Points.InsertNextPoint(1, 1, 1) Points.InsertNextPoint(0, 1, 1) Ids vtkIdList() Ids.InsertNextId(0) Ids.InsertNextId(1) Ids.InsertNextId(2) Ids.InsertNextId(3) Ids.InsertNextId(4) Ids.InsertNextId(5) Ids.InsertNextId(6) Ids.InsertNextId(7) Grid vtkUnstructuredGrid() 第一个参数插入10个单元格 第二个参数每个单元格插入10个点 但是在这个按理中每个立方体只有一个单元格 101 每个单元格只有8个点 10 8 示例代码很明显是分配空间 所需空间 Grid.Allocate(10, 10) Grid.InsertNextCell(VTK_HEXAHEDRON, Ids) Grid.SetPoints(Points) Grid.GetPointData().SetScalars(Scalars) marching vtkContourFilter() marching.SetInputData(Grid) marching.SetValue(0, 0.5) marching.Update() # 提取经由marching找到的等值面三角网格面的边缘 triangleEdges vtkExtractEdges() triangleEdges.SetInputConnection(marching.GetOutputPort()) # 将提取的边缘变粗方便可视化 triangleEdgeTubes vtkTubeFilter() triangleEdgeTubes.SetInputConnection(triangleEdges.GetOutputPort()) triangleEdgeTubes.SetRadius(0.005) triangleEdgeTubes.SetNumberOfSides(6) triangleEdgeTubes.UseDefaultNormalOn() # 使用默认法线 triangleEdgeTubes.SetDefaultNormal(.577, .577, .577) triangleEdgeMapper vtkPolyDataMapper() triangleEdgeMapper.SetInputConnection(triangleEdgeTubes.GetOutputPort()) triangleEdgeMapper.ScalarVisibilityOff() triangleEdgeActor vtkActor() triangleEdgeActor.SetMapper(triangleEdgeMapper) triangleEdgeActor.GetProperty().SetDiffuseColor(colors.GetColor3d(lamp_black)) triangleEdgeActor.GetProperty().SetSpecular(.4) # 设置镜面反射 triangleEdgeActor.GetProperty().SetSpecularPower(10) # 设置镜面强度 aShrikner vtkShrinkPolyData() aShrikner.SetInputConnection(marching.GetOutputPort()) aShrikner.SetShrinkFactor(1.0) aMapper vtkPolyDataMapper() aMapper.ScalarVisibilityOff() aMapper.SetInputConnection(aShrikner.GetOutputPort()) Triangles vtkActor() Triangles.SetMapper(aMapper) Triangles.GetProperty().SetDiffuseColor(colors.GetColor3d(banana)) Triangles.GetProperty().SetOpacity(.6) # 整体的立方体的构建 CubeModel vtkCubeSource() CubeModel.SetCenter(.5, .5, .5) Edges vtkExtractEdges() Edges.SetInputConnection(CubeModel.GetOutputPort()) Tubes vtkTubeFilter() Tubes.SetInputConnection(Edges.GetOutputPort()) Tubes.SetRadius(.01) Tubes.SetNumberOfSides(6) Tubes.UseDefaultNormalOn() Tubes.SetDefaultNormal(.577, .577, .577) TubeMapper vtkPolyDataMapper() TubeMapper.SetInputConnection(Tubes.GetOutputPort()) CubeEdges vtkActor() CubeEdges.SetMapper(TubeMapper) CubeEdges.GetProperty().SetDiffuseColor( colors.GetColor3d(khaki)) CubeEdges.GetProperty().SetSpecular(.4) CubeEdges.GetProperty().SetSpecularPower(10) # 新建球体用来表示marching cubes哪里是1哪里是0 sphere vtkSphereSource() sphere.SetRadius(0.04) sphere.SetPhiResolution(20) sphere.SetThetaResolution(20) # 移除掉grid中点的scalar ThresholdIn vtkThresholdPoints() ThresholdIn.SetInputData(Grid) ThresholdIn.ThresholdByUpper(.5) # 只保留标量值小于或等于 0.5 的所有点 Vertices vtkGlyph3D() Vertices.SetInputConnection(ThresholdIn.GetOutputPort()) Vertices.SetSourceConnection(sphere.GetOutputPort()) SphereMapper vtkPolyDataMapper() SphereMapper.SetInputConnection(Vertices.GetOutputPort()) SphereMapper.ScalarVisibilityOff() CubeVertices vtkActor() CubeVertices.SetMapper(SphereMapper) CubeVertices.GetProperty().SetDiffuseColor( colors.GetColor3d(tomato)) caseLabel vtkVectorText() aLabelTransform vtkTransform() aLabelTransform.Identity() aLabelTransform.Translate(-0.2, 0, 1.25) aLabelTransform.Scale(.05, .05, .05) # 将label这个数据移动到新的位置 labelTransform vtkTransformPolyDataFilter() labelTransform.SetTransform(aLabelTransform) labelTransform.SetInputConnection(caseLabel.GetOutputPort()) labelMapper vtkPolyDataMapper() labelMapper.SetInputConnection(labelTransform.GetOutputPort()) labelActor vtkActor() labelActor.SetMapper(labelMapper) # 设置一个基座用来放置grid baseModel vtkCubeSource() baseModel.SetXLength(1.5) baseModel.SetYLength(0.01) baseModel.SetZLength(1.5) baseMapper vtkPolyDataMapper() baseMapper.SetInputConnection(baseModel.GetOutputPort()) base vtkActor() base.SetMapper(baseMapper) base.SetPosition(.5, -0.09, .5) 在这里完成对于Scalars标量值的更新 cases[i](Scalars, caseLabel, 1, 0) Grid对象进行数据更新 为什么Scalars这个对象的更新能够影响到已经构建好了的Grid里面的标量的值 Grid.GetPointData().SetScalars(Scalars) 这一行没有复制数据只是建立起了一个引用 SetScalars() 的作用建立联系而非复制数据 你可以把 Scalars 想象成一个装满水的水桶而 Grid 就像一个需要水的洒水器。 Grid.GetPointData().SetScalars(Scalars) 这句话的作用是 “把洒水器的进水管接到这个水桶上。” 这行代码执行之后Grid洒水器就知道去哪里找它的水源Scalars。它本身没有自己的水它只是引用着 Scalars 这个水桶里的数据。 当你循环中调用 caseX(Scalars, ...) 函数时你实际上是在 “直接往这个水桶里倒新水。” 因为 Grid 的进水管一直连接着同一个水桶所以当你改变 Scalars 里数据的时候Grid 立即就能“看到”这些变化。 Grid.Modified() 的作用就是 “告诉洒水器嘿水桶里的水换了记得重新检查一下” 如果没有这句通知洒水器可能懒得去检查继续用它之前的水。有了这句通知它就会去检查水桶发现水变了然后把新数据传递给下游的过滤器vtkContourFilter Grid.Modified() renderers[i].AddActor(triangleEdgeActor) renderers[i].AddActor(base) renderers[i].AddActor(labelActor) renderers[i].AddActor(CubeEdges) renderers[i].AddActor(CubeVertices) renderers[i].AddActor(Triangles) renderers[i].GetActiveCamera().Azimuth(30) renderers[i].GetActiveCamera().Elevation(20) renderers[i].ResetCamera() renderers[i].ResetCameraClippingRange() 原本的示例代码是这样写的 if i 0: renderers[i].SetActiveCamera(renderers[0].GetActiveCamera()) 这行代码的意思是所有的render都使用索引为0的render的那个相机 这就意味着窗口的所有render在鼠标进行操作时因为是一个相机所有的render都会一起变化 rendererSize 300 xGridDimensions 4 yGridDimensions (len(cases) - 1) // 4 1 print(Grid dimensions, (x, y): ({:d}, {:d}).format(xGridDimensions, yGridDimensions)) renWin.SetSize( rendererSize * xGridDimensions, rendererSize * yGridDimensions) renWin.SetWindowName(MarchingCases) vtk的惰性执行哪怕前面已经将render塞入到renderwindow中这里再进行更改也是可以的 for row in range(0, yGridDimensions): for col in range(0, xGridDimensions): index row * xGridDimensions col # (xmin, ymin, xmax, ymax) viewport [ float(col) / xGridDimensions, float(yGridDimensions - (row 1)) / yGridDimensions, float(col 1) / xGridDimensions, float(yGridDimensions - row) / yGridDimensions] renderers[index].SetViewport(viewport) iren.Initialize() renWin.Render() iren.Start() def case0(scalars: vtkFloatArray, caseLabel: vtkVectorText, IN: float, OUT: float): # SetValue和InsertValue这两种写法都可以 scalars.SetValue(0, OUT) scalars.SetValue(1, OUT) scalars.InsertValue(2, OUT) scalars.InsertValue(3, OUT) scalars.InsertValue(4, OUT) scalars.InsertValue(5, OUT) scalars.InsertValue(6, OUT) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 0 - 00000000) else: caseLabel.SetText(Case 0c - 11111111) def case1(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, IN) scalars.InsertValue(1, OUT) scalars.InsertValue(2, OUT) scalars.InsertValue(3, OUT) scalars.InsertValue(4, OUT) scalars.InsertValue(5, OUT) scalars.InsertValue(6, OUT) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 1 - 00000001) else: caseLabel.SetText(Case 1c - 11111110) def case2(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, IN) scalars.InsertValue(1, IN) scalars.InsertValue(2, OUT) scalars.InsertValue(3, OUT) scalars.InsertValue(4, OUT) scalars.InsertValue(5, OUT) scalars.InsertValue(6, OUT) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 2 - 00000011) else: caseLabel.SetText(Case 2c - 11111100) def case3(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, IN) scalars.InsertValue(1, OUT) scalars.InsertValue(2, IN) scalars.InsertValue(3, OUT) scalars.InsertValue(4, OUT) scalars.InsertValue(5, OUT) scalars.InsertValue(6, OUT) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 3 - 00000101) else: caseLabel.SetText(Case 3c - 11111010) def case4(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, IN) scalars.InsertValue(1, OUT) scalars.InsertValue(2, OUT) scalars.InsertValue(3, OUT) scalars.InsertValue(4, OUT) scalars.InsertValue(5, OUT) scalars.InsertValue(6, IN) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 4 - 01000001) else: caseLabel.SetText(Case 4c - 10111110) def case5(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, OUT) scalars.InsertValue(1, IN) scalars.InsertValue(2, OUT) scalars.InsertValue(3, OUT) scalars.InsertValue(4, IN) scalars.InsertValue(5, IN) scalars.InsertValue(6, OUT) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 5 - 00110010) else: caseLabel.SetText(Case 5c - 11001101) def case6(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, OUT) scalars.InsertValue(1, IN) scalars.InsertValue(2, OUT) scalars.InsertValue(3, IN) scalars.InsertValue(4, IN) scalars.InsertValue(5, OUT) scalars.InsertValue(6, OUT) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 6 - 00011010) else: caseLabel.SetText(Case 6c - 11100101) def case7(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, IN) scalars.InsertValue(1, IN) scalars.InsertValue(2, OUT) scalars.InsertValue(3, OUT) scalars.InsertValue(4, OUT) scalars.InsertValue(5, OUT) scalars.InsertValue(6, IN) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 7 - 01000011) else: caseLabel.SetText(Case 7c - 10111100) def case8(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, IN) scalars.InsertValue(1, IN) scalars.InsertValue(2, OUT) scalars.InsertValue(3, OUT) scalars.InsertValue(4, IN) scalars.InsertValue(5, IN) scalars.InsertValue(6, OUT) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 8 - 00110011) else: caseLabel.SetText(Case 8c - 11001100) def case9(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, OUT) scalars.InsertValue(1, IN) scalars.InsertValue(2, IN) scalars.InsertValue(3, IN) scalars.InsertValue(4, OUT) scalars.InsertValue(5, OUT) scalars.InsertValue(6, IN) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 9 - 01001110) else: caseLabel.SetText(Case 9c - 10110001) def case10(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, IN) scalars.InsertValue(1, OUT) scalars.InsertValue(2, OUT) scalars.InsertValue(3, IN) scalars.InsertValue(4, OUT) scalars.InsertValue(5, IN) scalars.InsertValue(6, IN) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 10 - 01101001) else: caseLabel.SetText(Case 10c - 10010110) def case11(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, IN) scalars.InsertValue(1, OUT) scalars.InsertValue(2, OUT) scalars.InsertValue(3, OUT) scalars.InsertValue(4, IN) scalars.InsertValue(5, IN) scalars.InsertValue(6, IN) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 11 - 01110001) else: caseLabel.SetText(Case 11c - 10001110) def case12(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, OUT) scalars.InsertValue(1, IN) scalars.InsertValue(2, OUT) scalars.InsertValue(3, IN) scalars.InsertValue(4, IN) scalars.InsertValue(5, IN) scalars.InsertValue(6, OUT) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 12 - 00111010) else: caseLabel.SetText(Case 12c - 11000101) def case13(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, OUT) scalars.InsertValue(1, IN) scalars.InsertValue(2, OUT) scalars.InsertValue(3, IN) scalars.InsertValue(4, IN) scalars.InsertValue(5, OUT) scalars.InsertValue(6, IN) scalars.InsertValue(7, OUT) if IN 1: caseLabel.SetText(Case 13 - 01011010) else: caseLabel.SetText(Case 13c - 10100101) def case14(scalars, caseLabel, IN, OUT): scalars.InsertValue(0, IN) scalars.InsertValue(1, OUT) scalars.InsertValue(2, IN) scalars.InsertValue(3, IN) scalars.InsertValue(4, OUT) scalars.InsertValue(5, IN) scalars.InsertValue(6, IN) scalars.InsertValue(7, IN) if IN 1: caseLabel.SetText(Case 14 - 11101101) else: caseLabel.SetText(Case 14c - 00010010) if __name__ __main__: main()
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

html论坛网站模板下载如何注册个人网站

AI视频卫士系统,支持本地部署 项目地址: https://gitee.com/stonedtx/stonedtaiv 餐饮门店的监控困扰 很多餐饮门店老板都有过这样的经历:半夜手机突然报警,打开监控一看,原来是只猫跑过,或者是窗帘被风…

张小明 2026/1/9 17:45:51 网站建设

旅游网站设计与实现wordpress zidai模板

256K超长上下文FP8量化突破:Qwen3-4B-Instruct-2507-FP8树立轻量级大模型新基准 【免费下载链接】Qwen3-0.6B-FP8 Qwen3 是 Qwen 系列中最新一代大型语言模型,提供全面的密集模型和混合专家 (MoE) 模型。Qwen3 基于丰富的训练经验,在推理、指…

张小明 2026/1/9 3:28:31 网站建设

织梦的网站模板免费吗手机壳定制app

直接答案是:不能。资源管理器(File Explorer)本质上是一个用于管理文件和磁盘的工具,它无法直接诊断内存(RAM)的硬件故障。 原因很简单:内存是CPU的“临时工作台”,所有程序&#xf…

张小明 2026/1/9 5:43:17 网站建设

百度商桥置入网站王野天 葛优

小力将 N 个零件的报价存于数组 nums。小力预算为 target,假定小力仅购买两个零件,要求购买零件的花费不超过预算,请问他有多少种采购方案。注意:答案需要以 1e9 7 (1000000007) 为底取模,如:计算初始结果…

张小明 2026/1/9 11:30:19 网站建设

工厂 网站建设wordpress 获取子页面内容

9 个降AI率工具,专科生高效避坑指南 AI降重工具:专科生高效避坑的得力助手 随着AI技术在学术写作中的广泛应用,越来越多的专科生开始面临论文中AIGC率偏高的问题。这不仅影响论文的原创性评估,还可能直接导致查重率超标&#xff0…

张小明 2026/1/9 17:45:43 网站建设

上海建设工程安全监理网站丽水专业网站建设公司

Conda依赖锁定文件conda-lock应用实践 在人工智能和数据科学项目中,你是否曾遇到过这样的场景:同事发来一段模型训练代码,满怀期待地运行时却报出各种包版本冲突?或者CI/CD流水线莫名其妙失败,排查半天发现只是因为某台…

张小明 2026/1/10 12:16:23 网站建设