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


猜你喜欢
- 其实和爬取普通数据本质一样,不过我们直接爬取数据会直接返回,爬取图片需要处理成二进制数据保存成图片格式(.jpg,.png等)的数据文本。现
- 1.颜色空间转换(RGB转HSV)为了较准确的调红色和绿色的HSV,我使用cv2.createTrackbar()函数创建了六个滚动条#创建
- 1.在pycharm下安装scrapy函数库2.将安装好scrapy函数库下的路径配置到系统path的环境变量中3.打开cmd终端输入:sc
- 目录信号:官方介绍:blinker 使用命名信号匿名信号组播信号接收方订阅主题装饰器用法可订阅主题的装饰器检查信号是否有接收者检查订阅者是否
- 前言圣诞节快到了,是不是想用python画一个可爱的圣诞树,我在各大网站都查了一下,都不太美观,然后我就学习了一下别人的代码改写了一下,自己
- 搭建FTP,或者是搭建网络文件系统,这些方法都能够实现Linux的目录共享。但是FTP和网络文件系统的功能都过于强大,因此它们都有一些不够方
- 这段时间服务器崩溃2次,一直没有找到原因,今天看到论坛发出的错误信息邮件,想起可能是MySQL的默认连接数引起的问题,一查果然,老天,默认
- psutil是个跨平台库,能够轻松实现获取系统运行的进程和系统利用率,包括CPU、内存、磁盘、网络等信息。它主要应用于信息监控,分析和限制系
- SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo
- 由于本人在实际应用中遇到了有关 numpy.sum() 函数参数 axis 的问题,这里特来记录一下。也供大家参考。示例代码如下:impor
- 我们有时候看到一些文章因为一行的字符超长而把一些表格或DIV撑开或字符写到溢出了.如何防止表格防止撑开,表格不被内容撑开,单行字符超长div
- 我们目前已经学会了四个控件,也编出了几个窗口实例,它们都有一个共同的特点,就是丑,主要原因是没有进行合理地布局。此前的布局方式简单粗暴,即明
- 简介:轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果。代码如下:import cv2 as
- 1.查看binlog是否开启show variables like '%log_bin%';2.查看数据文件存放路径:bin
- 由于在遭遇到这个页面之前我们一 * 互刚好在讨论交互设计原则之类的话题,其中有一条是:包容性,即满足主体用户需求的同时,尽可能兼顾非主体用户需
- 前言大家应该都知道,我们在mysql运维中出现过不少因为update/delete条件错误导致数据被误更新或者删除的case,为避免类似问题
- 环境搭建python 3.xrequests 包re 包gooey包 (用于可视化)代码import requestsimport reim
- 用比较笨的方法来做abc ="AlkjA;lkjlkjAlkAkjAlkjAAAA" if instr(abc,&quo
- 最近在学习python的内容,在导入requsets库的时候遇到了问题。import requests查了一下资料是requests库需要安
- 我就废话不多说了,大家还是直接看代码吧~#aaa.py#version 3.5import os #这句是没用了,不知道为什么markdow