python画抛物线_python绘制直线的方法

本文实例为大家分享了python绘制直线的具体代码,供大家参考,具体内容如下

#!/usr/bin/env python

import vtk

# 绘制通用方法

def myshow(linepolydata):

# Now we'll look at it.

lineMapper = vtk.vtkPolyDataMapper()

if vtk.VTK_MAJOR_VERSION <= 5:

lineMapper.SetInput(linepolydata)

else:

lineMapper.SetInputData(linepolydata)

lineMapper.SetScalarRange(0, 2)

lineActor = vtk.vtkActor()

lineActor.SetMapper(lineMapper)

# The usual rendering stuff.

camera = vtk.vtkCamera()

camera.SetPosition(1, 1, 1)

camera.SetFocalPoint(0, 0, 0)

renderer = vtk.vtkRenderer()

renWin = vtk.vtkRenderWindow()

renWin.AddRenderer(renderer)

iren = vtk.vtkRenderWindowInteractor()

iren.SetRenderWindow(renWin)

renderer.AddActor(lineActor)

renderer.SetActiveCamera(camera)

renderer.ResetCamera()

renderer.SetBackground(0, 0, 0)

renWin.SetSize(300, 300)

# interact with data

renWin.Render()

iren.Start()

del lineMapper

del lineActor

del camera

del renderer

del renWin

del iren

def main():

# 直线在三维坐标系中的2个顶点

x = [(0.0, 0.0, 0.0),(1.0, 0.0, 0.0), (0.0, 1.0, 0.0)]

# We'll create the building blocks of polydata including data attributes.

linepoly = vtk.vtkPolyData()

points = vtk.vtkPoints()

lines = vtk.vtkCellArray()

scalars = vtk.vtkFloatArray()

for i in range(3):

points.InsertNextPoint(x[i])

linepoly.SetPoints(points)

line0 = vtk.vtkLine()

line0.GetPointIds().SetId(0, 0); # 第二个0表示pts中的origin点

line0.GetPointIds().SetId(1, 1); # 第二个1表示pts中的p0点

line1 = vtk.vtkLine()

line1.GetPointIds().SetId(0, 0);

line1.GetPointIds().SetId(1, 2);

lines.InsertNextCell(line0)

lines.InsertNextCell(line1)

linepoly.SetLines(lines);

colors = vtk.vtkUnsignedCharArray()

colors.SetNumberOfComponents(3);

red = [255, 0, 0]

colors.InsertNextTypedTuple(red);

green = [0, 255, 0]

colors.InsertNextTypedTuple(green);

linepoly.GetCellData().SetScalars(colors);

del points

del lines

del scalars

del colors

myshow(linepoly)

# Clean up

del linepoly

main()

python画抛物线_python绘制直线的方法_第1张图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(python画抛物线)