- 博客(35)
- 收藏
- 关注
转载 在Linux下安装feedparser
首先由于你的python并没有携带这个库,所以需要下载:# wget https://pypi.python.org/packages/source/f/feedparser/feedparser-5.1.3.tar.gz#md5=f2253de78085a1d5738f626fcc1d8f71 --no-check-certificate然后解压:tar zxf feedparser
2016-03-16 16:00:12
595
原创 透视投影以及分辨率的问题
最近我在做我的基于VTK的分布式数据的分布式渲染的时候遇到一个非常奇怪的问题:我在算出一个包围盒在透视平面的透视投影的结果都是对的,所有点的坐标在相对位置上都是对的但是最后画出来的结果竟然看上去有问题,其中两个点都是对的,有一个点确出问题了,竟然到了整个屏幕的边上。如下图,左边是现实情况,右边是应该的正确情况:这样的结果让我觉得很诧异,我就开始猜想错误的原因,然后我认为可能是我在算
2015-07-25 15:08:13
721
原创 MPI的使用小感
我在做基于VTK的分布式数据的并行显示的时候,由于每个节点可能其上的数据并不一定最后显示在这个节点对应的屏幕上面,所以我们需要在整个流水线的最后把画出来的图形再进行重新的分配,这个时候我就要用到MPI。MPI是多点接口(Multi Point Interface)的简称。我谈谈我用它做了什么,我也没有用到什么复杂的功能,主要就是用它的数据传输的功能,主要用到以下几个函数:MPI_Gat
2015-07-14 16:46:38
884
原创 VTK读取缓冲区像素数据
最近,我在做并行图像合成的工作,所以我需要把VTK管线中画好的图在显示之前把这些像素点取出来,并与其它进程所绘制的像素点相融合,进行深度测试。所以需要了解VTK在像素缓冲区的读取上是怎么做的。我们都知道,在OpenGL中我们都知道,是用glReadPixels()和glGetTexImage()这样的函数把像素读取到内存在来的,然后调用glMapBuffer()或者glGetBufferSub
2015-07-14 09:42:23
1182
原创 RequestImformation过程针对pvtp文件的详细解析
第一步 // Make sure that there is a file to get information from. if (request->Has(vtkDemandDrivenPipeline::REQUEST_DATA_OBJECT())) { if (!this->Internal->FileNameIsSet && (this->GetN
2015-05-07 14:50:22
558
原创 Paraview并行Reader:vtkXMLPStructuredGridReader
vtkXMLPStructuredGridReader这个类位于/ParaView-v4.2.0-source/VTK/IO/XML。这个类主要是用于读取PVTK XML StructuredGrid 文件。他读取并行模式的总结文件,并且使用vtkXMLStructuredGridReader从单独的结构化片文件中去读取数据。支持流,这种文件的扩展名为pvts。这个类继承自vtkXMLPS
2015-04-28 15:32:51
1356
原创 Paraview Parallel模式下的文件解析(五)
上次依然发现没有得到我们需要的结果,原因所在有现在还是不是很清楚后台运行的一个流程,而Paraview中后台服务器的运行是由客户端的代理管理程序控制的,所以现在我们回到客户端的并行方面的程序看一看。首先我们来看vtkSMViewProxy:这个类是所有的view代理的基类。一个view代理抽象了获取一个或者多个Representation代理的逻辑并且显示他们在视点上(例如vtkRende
2015-04-23 15:22:37
793
原创 Paraview Parallel模式下的文件解析(四)
根据上一节的分析我们通过实验来看看vtkPVDataRepresentation这个文件中是否执行到了,然后再试试其几个子类::这个对象的190::vtkPVDataRepresentation:;RequestData189::vtkPVDataRepresentation::RequestData都执行了,说明确实是执行了这个对象,并且是在Update之后SynchronizeGe
2015-04-19 18:05:49
611
原创 Paraview Parallel模式下的文件解析(三)
经过前几天的学习和分析,发现在vtk中的数据传输部分的执行不知道是不是我没有理解好,还是就是没有执行。因此今天决定回到Paraview层面来看它的整个的并行调度:/ParaviewCore/ClientSeverCore/Rendering下一些有意思的文件:vtkPVDataDeliveryManager::这个类管理几何结构的传递(给Rendering)。它被vtkPVRenderVi
2015-04-17 16:22:55
1501
原创 Paraview Parallel模式下的文件解析(二)
根据前文提到的/Parallel中的文件的实验发现,数据的传输是发生在vtkMapper之后,也就是vtkMapper请求数据之后,也就是Rendering这个过程之中,所以今天解析一下/VTK/Rendering/Parallel/下的文件:vtkClientServerCompositePass::这个类是一个render-pass,能够控制服务器和客户端的图像输送。这个类被设计用来在
2015-04-16 08:44:42
1254
原创 Paraview Parallel模式下的文件解析(一)
/VTK/Parallel/Core/下的文件:vtkCommunicator:这个类是用来在多进程环境下发送/接收信息。这个类是一个基类,包含一些进程间信息发送和接收的方法。还包含一些把对象封送为字符串的方法,这些方法应就是用来信息传递用的,到另一端也要解析。(这是用于MPI communicator的,而不是用于内存共享的communicator的)。在这样的信息传递中,所有的系统都必须拥
2015-04-15 10:36:37
1319
原创 Paraview与VTK学习笔记(七)sources篇
我们看一个非常简单的定义sources的代码:# Create a new sphere proxy on the active session and register it # in the sources group. sphere = sources.SphereSource(registrationGroup="sources", ThetaResolution=16,
2015-04-01 11:01:25
2400
原创 Paraview与VTK学习笔记(六)//representation篇
之前的几篇学习笔记,讲了关于Render的事情,详细叙述了在Paraview中的一个从前端Python到后台vtk库的一个渲染调用的过程。下面我们来看一下数据的事情。首先我们来看在之前提高过的simple.py中的Show():def Show(proxy=None, view=None, **params): """Turns the visibility of a given
2015-03-31 15:37:44
1825
原创 vtkRenderer中Render()函数解析
void vtkRenderer::Render(void){ if(this->Delegate!=0 && this->Delegate->GetUsed()) { this->Delegate->Render(this); return; } double t1, t2; int i; vtkProp *aProp;
2015-03-29 15:58:23
4095
原创 Paraview与VTK学习笔记(五)
上一节最后执行到:this->GetRenderWindow()->Render();也就是执行到了vtkRenderWindow::Render()了
2015-03-26 16:38:24
2492
原创 Paraview与VTK学习笔记(四)
上一节我们讲到最后我们要考虑VTKOBJECT(this)是什么意思,经过查找,我们发现。它是当这个stream在interpret(解释器)中时,让他调用vtkClassName::MethodName()。其中vtkClassName是其中的代理对象代表的的类的类名,方法就是后面这个方法。所以我们这里就是调用vtkPVRenderView这个类的我们来解析之前那段代码:intvtkC
2015-03-25 10:59:45
1618
原创 Paraview与VTK学习笔记(三)
下面接着上一面继续,上面那个函数最后调用了vtkPVSessionCore::ExecuteStreamInternalvoid vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream& stream, bool ignore
2015-03-22 10:50:31
1440
原创 Paraview与vtk学习笔记(二)
上一节,我们讲到最后:不知道它是否属于,这里的xml_name为RenderViewrendering.__dict__[xmlName]然而我在Paraview的源代码中找到这样一个类,它叫做vtkSMRenderViewProxy,它的父类为vtkSMViewProxy,这个类在ParaviewCore/Servermanager/Rendering/文件夹下。在它的父类中有这个方
2015-03-20 15:07:31
1896
原创 Paraview和vtk的学习笔记(一)
在Paraview中,simple.py承接着与外界用户接口的任务,一个最基本的使用Paraview例子就是: from paraview.simple import * # Create a new sphere proxy on the active connection and register it # in the sources group. sphere = Sph
2015-03-19 22:09:34
7395
原创 LeetCode中3Sum(a+b+c=0)的解法与证明
这道题。开始的时候想用hash表来做,可是需要排除重复就会造成O(n3)的复杂度,也可能是我这个方法没弄好。想了很久,也没有做出来,在网上看了别人的解放,遂恍然大悟,但是网上没有它解法的证明,所以在这里写下我的证明,以来以后看看。原题目为:唯一性:这道题最关键的就是,我们需要保证每次搜索得到的结果都是不重复得到的,这样我们可以想一个办法,保证a,b,c有序,这样我们可以使a
2015-03-18 20:45:36
1779
原创 vtk filter 的写法
从不修改输入数据:数据是静态的,修改了输入,其它滤波器也用这个输入数据,则会出问题。(因为数据会很大,应该用的都是同一份数据)相关计算数据:不要复制,内存消耗会很大。使用调试宏:当设置了对象的调试标记时,滤波器应该提供调试信息。使用在VTK/Commom/vtkSetGet.h中定义的VTK 的调试宏很方便。取消/删除已分配的内存:滤波器写入器的一个共同的不足是引入了内存泄漏或
2015-03-12 21:34:41
1268
原创 vtkMapper,vtkActor,vtkRenderer,vtkRenderWindow四者之间的关系,以及与输入输出相连
在vtkMapper中有一个函数:vtkDataSet *vtkMapper::GetInput(){ if (this->GetNumberOfInputConnections(0) { return 0; } return vtkDataSet::SafeDownCast( this->GetExecutive()->GetInpu
2015-03-11 22:17:59
4505
原创 vtkRenderWindow类中包含的一些函数概析
该类主要用于创建一个window用于renderers来进行绘制vtkRenderWindow是一个抽象类,主要用于指定渲染窗口的一些参数与函数。一个渲染窗口是一个图形窗口,对于用户绘制他们想要图形的接口。方法用来同步渲染进程,设置窗口大小和控制double buffering。也允许渲染立体图形,交错渲染立体类型是为了输出a VRex stereo projector。所有的奇数平行线是来自
2015-03-11 15:25:38
2745
原创 vtk中vtkRenderer各函数解析
vtkRenderer主要是提供了一个抽象的renderers的规范。一个renderer是一个控制对象渲染进程的对象。渲染是变换几何结构的进程,是光照,一幅图形的相机view的规范。 vtkRenderer同样也在世界坐标和view坐标(计算机图形渲染坐标系统)和display coordinates(设备上事实的screen坐标)之间执行坐标变换。更进阶的一些渲染特征,例如two-side
2015-03-10 16:42:01
7154
原创 vtk中vtkActor各函数解析
vtkActor用来代表一个整个的渲染场景。他继承的方法有与actors position相关的函数还有vtkProp中的相关函数。actor还有缩放和保持与定义的几何结构(例如mapper)的联系,渲染属性,或者还有纹理映射。vtkActor通过一个4*4的变换矩阵把这些东西组合起来:[x y z 1] = [x y z 1] Translate(-origin)Scale(scale) Rot
2015-03-10 14:38:48
7328
原创 vtk 中vtkMapper的各函数解析
它是一个抽象类,用来指定接口去映射数据到图形初级单元上。子类通过一个lookuptable来映射数据,并且控制渲染初级单元(图形库的接口)的建立。这种映射能够通过控制提供的lookup table和指定映射数据的scalar(标量)的范围来控制。这之中有一些重要的控制机制来影响这个类的一些常量。ScalarVisibility flag控制标量数据是否控制Mapper相关actors的颜色。Sca
2015-03-09 10:06:00
3802
原创 paraview下lib/site-packages/paraview下所有python文件的作用
simple.py:simple是一个用来使用paraview服务器管理程序的模块,用python写的。它提供一个简单的便利层,这个便利层是和servermanager模块一起由c++类打包到Python中而实现的。servermanager.py:servermanager也是一个用来使用paraview服务器管理程序的模块。可以直接使用服务器管理的API。但是,这个模块提供一个接口使其可以
2015-01-09 10:46:32
1055
原创 paraview /paraview4.2/lib/site-packages/paraview/下的simple.py文件的作用
simple.py:获得当前Paraview的版本;获得Paraview源代码的版本;客户端服务器方法:释放连接Disconnect(ns=None, force=True):Disconnect方法,(多服务器时不同)建立连接Connect(ds_host=None, ds_port=11111, rs_host=None, rs_port=11111):先调用Disconn
2014-12-19 10:44:21
1008
原创 Paraview Reader 的原理以及如何基于VTK写新的Reader
reader的父类的选择是基于reader的输出的类型的,这些父类在VTK中由相对应vtkAlgorithm提供。例如输出vtkPolyData,则父类选择vtkPolyDataAlgorithm。reader主要有以下五个方法:ProcessRequest:流水线的接口,就是整个reader的主函数RequestInformation:提供数据的信息,当ProcessRequest收
2014-12-15 15:22:02
2385
原创 在改变了JS文件,而浏览器依然加载的是之前没改变之前的js文件的问题
前几天写程序,遇到我改变了JS文件,da而浏览器依然加载的是之前没改变之前的js文件的问题
2014-07-17 16:24:10
1031
原创 servlet 的部署与web.xml文件的填写
servlet文件与所有的java文件,可以运行的一样是那个.class文件。所以,我们在部署tadeshih
2014-07-07 16:45:43
505
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人