四川建设厅官方网站查询资料员丽江网架公司
2026/4/14 15:28:29 网站建设 项目流程
四川建设厅官方网站查询资料员,丽江网架公司,wordpress 后台教程,wordpress导航条左右一#xff1a;主要的知识点 1、说明 本文只是教程内容的一小段#xff0c;因博客字数限制#xff0c;故进行拆分。主教程链接#xff1a;vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①vtkWarpScalar根据标量值沿着发现方向进行…一主要的知识点1、说明本文只是教程内容的一小段因博客字数限制故进行拆分。主教程链接vtk教程——逐行解析官网所有Python示例-CSDN博客2、知识点纪要本段代码主要涉及的有①vtkWarpScalar根据标量值沿着发现方向进行形变二代码及注释import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkRenderingCore import ( vtkActor, vtkDataSetMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) from vtkmodules.vtkFiltersSources import vtkPlaneSource from vtkmodules.vtkCommonTransforms import vtkTransform from vtkmodules.vtkFiltersGeneral import vtkTransformPolyDataFilter, vtkWarpScalar from vtkmodules.vtkCommonCore import vtkPoints, vtkDoubleArray from vtkmodules.vtkCommonDataModel import vtkPolyData import math def main(): colors vtkNamedColors() ren vtkRenderer() renWin vtkRenderWindow() renWin.AddRenderer(ren) iren vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) plane vtkPlaneSource() plane.SetResolution(300, 300) transform vtkTransform() transform.Scale(10.0, 10.0, 1.0) transF vtkTransformPolyDataFilter() transF.SetInputConnection(plane.GetOutputPort()) transF.SetTransform(transform) transF.Update() inputPd transF.GetOutput() numPts inputPd.GetNumberOfPoints() newPts vtkPoints() newPts.SetNumberOfPoints(numPts) derivs vtkDoubleArray() derivs.SetNumberOfTuples(numPts) bessel vtkPolyData() bessel.CopyStructure(inputPd) # 将inputPd的拓扑结构复制到bessel中 bessel.SetPoints(newPts) bessel.GetPointData().SetScalars(derivs) x [0.0] * 3 for i in range(0, numPts): inputPd.GetPoint(i, x) r math.sqrt(float(x[0] * x[0]) x[1] * x[1]) x[2] math.exp(-r) * math.cos(10.0 * r) newPts.SetPoint(i, x) deriv -math.exp(-r) * (math.cos(10.0 * r) 10.0 * math.sin(10.0 * r)) derivs.SetValue(i, deriv) vtkWarpScalar 与vtkWarpVector不同其是按照标量场来形变 用于根据点的标量值scalar data对几何体进行沿法线方向的形变 warp vtkWarpScalar() warp.SetInputData(bessel) 启用XYPlane模式 当 XYPlaneOn() 被调用时vtkWarpScalar 过滤器会被指示只沿着与XY平面垂直的方向即Z轴方向移动顶点 默认情况下vtkWarpScalar 会沿着几何体的表面法线方向Normal进行位移 warp.XYPlaneOn() warp.SetScaleFactor(0.5) mapper vtkDataSetMapper() mapper.SetInputConnection(warp.GetOutputPort()) tmp bessel.GetScalarRange() mapper.SetScalarRange(tmp[0], tmp[1]) carpet vtkActor() carpet.SetMapper(mapper) # Assign our actor to the renderer. ren.AddActor(carpet) ren.SetBackground(colors.GetColor3d(Beige)) renWin.SetSize(640, 480) renWin.SetWindowName(ExponentialCosine) # draw the resulting scene ren.ResetCamera() ren.GetActiveCamera().Zoom(1.35) ren.GetActiveCamera().Elevation(-55) ren.GetActiveCamera().Azimuth(25) ren.ResetCameraClippingRange() renWin.Render() iren.Start() if __name__ __main__: main()

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询