python绘制直线的方法
作者:genispan 发布时间:2022-10-08 20:01:52
标签: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()
来源:https://blog.csdn.net/genispan/article/details/79584494
0
投稿
猜你喜欢
- 最近遇到了Python访问SqlServer的问题,这里总结下。一、Windows下配置Python访问Sqlserver环境:Window
- 一,进程的理论基础一个应用程序,归根结底是一堆代码,是静态的,而进程才是执行中的程序,在一个程序运行的时候会有多个进程并发执行。进程和线程的
- Oracle TRIM函数是很常见的函数,下面对Oracle TRIM函数的语法作了详尽的阐述说明,希望可以让您对Oracle TRIM函数
- Python中内置了list集合与tuple集合,在list集合中可以实现元素的添加、修改、插入、以及删除。tuple集合看似与list类似
- 这段时间在爬取了杭州某网站发布的二手房信息,在作图的时候发现在地图呈现上还是有欠缺,这里就把用到的贴出来,提升一下记忆。之前有接触用Base
- 本文实例为大家分享了python定义带参数装饰器的具体代码,供大家参考,具体内容如下案例: &
- 本文为大家分享了python实现俄罗斯方块游戏的具体代码,供大家参考,具体内容如下Github:Tetris代码:# -*- coding:
- 进程、线程和协程之间的关系和区别也困扰我一阵子了,最近有一些心得,写一下。进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调
- 失效的书签们我们日常浏览网站的时候,时不时会遇到些新奇的东西( 你懂的.jpg ),于是我们就默默的点了个收藏或者加书签。然而当我们面对成百
- 1.颜色空间转换使用cv2.cvtColor(input_image ,flag),flag为转换类型常用的转换类型有:BGR和灰度图的转换
- 1 前言Python开发网络爬虫获取网页数据的基本流程为:发起请求通过URL向服务器发起request请求,请求可以包含额外的header信
- 可试试下面这个方法,但要保证在FORM中使用的Input Name都和数据库中使用的是一样的:upfiles.asp<% &
- python PIL 将数组值转成图片安装 PIL 包pip install pillow将二维数据转换成单通道图片from PIL imp
- 1 旖旎风景马上虎年了,也是我的生肖年,很激动!(不小心暴露了年龄,哈哈哈......),这里先给大家拜年啦,祝大家虎年快乐,虎年爆富!&n
- 在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。每次实例化一个对象
- 概率生成问题有一枚不均匀的硬币,要求产生均匀的概率分布有一枚均匀的硬币,要求产生不均匀的概率分布,如 0.25 和 0.75利用 Rand7
- 对于网页制作者来说,最烦琐的事情可能就是给页面中的图片或文字加链接了。假如页面内容很多的话,那么所做的
- PHP使用星号替代用户名手机和邮箱这个在许多的活动界面会看到如淘宝的购物界面中的一些客户的支付宝号都是隐藏掉的哦,下面我们来看一下它的使用方
- String(字符型)–%s integer(整形)–%d float(浮点型)–%f实例我们需要输出一个人的信息代码:#coding=ut
- 目录1、面向对象基本概念1.1 万物皆对象1.2 面向对象编程1.3 面向对象的特征2、Python面向对象的术语3、Python类的构建3