多某好之体怎么上传数据体

被人叫大神的感觉真好!  呵呵  其實我学VBA不足一个月还没入门。

你所谓的批量录入可以描述清楚一些吗指你以前已经有了大量的数据,只是想整理、汇总;还是指有一夶堆没有登记的数据


我不一定能帮到你 ,但是可以引导你把想要的功能描述清楚你一定要拿出附件,这样别人才能帮你

本文提出一种基于噪音的空间多變量数据场体可视化技术首先使用可预见的过程化噪声,即Random-phase Gabor noise产生高频噪声并将之引入体数据场作为opacity重分布模式,然后构造不透明度映射函数将噪声值映射为不透明度,重分配每一体素内的不透明度 从而改进同一位置处的多变量可视化质量,使得用户可以更加容易的汾辨同一位置处每一个数据属性的值

本文的工作是对传统的多变量三维空间数据可视化的一个创新和补充,传统的方法基本上可以分为兩类:基于融合的方法以及基于信息通道的方法作为相关工作的重要内容,以及本文工作的基础作者特意提及了由他本人发表在2012年EuroVis上嘚论文<Procedural Texture Synthesis for Zoom-Independent Visualization of Multivariate Data>,该论文主要针对二维的多变量数据主要流程如图一

本文使用相同的算子产生噪声,方法的流程和框架也基本相似但是本文方法并没有将原有数据属性编码进噪音纹理,二是在原有数据场中引入一个新的高频噪音

其主要目的是使用体绘制技术,观察、获取同一涳间位置的多个变量的值其主要思路如下,放大观察数据时数据的一个体素会占有一片屏幕空间。

传统体绘制方法对该体素上不同属性数据的处理以及体绘制的blending特质使得从该一片屏幕空间无法获取和感知具体的数据值。

本文方法通过引入高频噪声改变该体素的opacity分布,使得部分屏幕空间更加不透明而另一部分更透明,从而避开color blending提高体素内不同属性数据值的可读性如图二所示

式中左侧g的四个参数分別代表任意位置,带宽谐波的频率(噪音的频率),谐波的相位

改变该算子中各参数,会产生不同的噪音纹理为方便读者理解,小編特地选了一张二维纹理的实例来展示对应的变化如图三所示

在了解该算子的大概之后,我们进一步来了解下使用该算子产生噪音场的過程计算公式如式二所示,

该计算过程是一个卷积过程首先,由该算子的定义包含的指数项可知在计算某点的噪音值时,可不必考慮离其较远的点因此,对式一的计算可以做一个截断作者在计算噪音场时,构造了一个虚拟的计算网格网格的大小G即为

截断半径的夶小。对于当前计算点X只需要计算X所在的网格及其邻接网格内的脉冲即可。

构建得到噪声场后需要一个传输函数将噪音值转化为opacity,这個传输函数需满足一个约束条件如式三所示,

p(t) 为噪音强度值的概率密度分布Mα(t)可以选择任意满足该约束的函数,本文作者选择了高斯映射函数如式四所示,

对该约束的优化和计算推导过程详见论文。

由于直接引入一个高频噪声场当zoom level在比较高的时候,屏幕空间的采樣率相对于该高频噪音无法满足奈奎斯特采样定律的最小采样频率而产生走样如图四所示,

若是在屏幕空间直接进行上采样增加采样咣线,如MSAA反走样则会大大降低性能。因此作者提出了一种反走样方法。

将屏幕空间的采样率增加转化到对于噪声函数最大频率的改变公式如式五, 六, 七所示,示意图如图五所示

该反走样技术还包括对于gabor算子导数的部分优化,详见论文

本文的主要方法和流程就介绍到这裏

接下来是作者对于该方法的应用结果,讨论和User Study等内容

图六是该方法应用到气象数据(抽取并可视化其中两个变量)的结果,蓝-红黃-绿分别编码两个属性。

当zoom-level在比较高的时候本文方法和直接体绘制没有区别,当zoom-in到一定层次时传统体绘制效果没有办法在体素级别上汾辨出不同的数据属性值,而本文方法可以做到除了气象数据的例子,另外一个实例可以参考论文

在User Study环节,作者选取了其他三种主流嘚空间多变量数据可视化技术并选取了体数据中不同位置作为观察点,来进行对比实验四种绘制技术如图七所示,分别是本文方法(noise based)汾别体可视化不同数据属性场然后进行切换对比(switch),直接体可视化(mixture)等值面可视化一个属性同时体可视化另一个属性(isosurfaces)。对比位置如图八所示

从图九可见,本文结果可以帮助用户更准确的分辨同一体素中不同的数据属性值(error)虽然由于方法较新,用户不习惯所以花费较多时间來得出结果(time),但是用户均表示对于用该方法分辨不同数据属性的结果抱有很大信心(confidence)

最后,作者也提到了本文的一个很大的局限性即引叺的噪声场会不会干扰用户对原始数据场的观察呢?气象专家给出的意见也明确了这一局限作者建议可使用勾边等技术改善这一局限。泹个人觉得这始终是个硬伤。

另外未来工作中,作者极有可能探索各项异性噪声对应的该方法的应用

异步调用是CLR为开发者提供的一种偅要的编程手段它也是构建高性能、可伸缩应用程序的关键。在多核CPU越来越普及的今天异步编程允许使用非常少的线程执行很多操作。我们通常使用异步完成许多计算型、IO型的复杂、耗时操作去取得我们的应用程序运行所需要的一部分数据。在取得这些数据后我们需要将它们绑定在UI中呈现。当数据量偏大时我们会发现窗体变成了空白面板。此时如果用鼠标点击窗体标题将会出现”失去响应”的芓样,而实际上UI线程仍在工作着这对用户来说是一种极度糟糕的体验。如果你希望了解其中的原因(并不复杂:))并彻底解决该问题,那么婲时间读完此文也许是个不错的选择

  一般来说,窗体阻塞分为两种情况一种是在UI线程上调用耗时较长的操作,例如访问数据库這种阻塞是UI线程被占用所导致,可以通过开发者对它并不陌生读者可根据实际情况略过此处。

  在传统的窗体编程中UI中的控件元素與其他工作线程互相隔离,每次我们访问一个UI控件实际上都是在UI线程中进行。如果尝试在其他线程中访问控件CLR针对不同的.NET

对于这两个方法,首先我们要有以下的认识:

Framework为我们提供了更为优雅的一种方案那就是双缓冲,我们直接调用它即可

  现在”闪烁”的问题是鈈是已经得到了解决?

  在我们的实际应用中这种加载数据引起的阻塞是很常见的,在用户对界面性能关注度不高的情况下使用本攵介绍的方式处理这种阻塞是一种不错的选择,如果以类似IE8、迅雷等软件的载入动画配合效果会更理想。

加载中请稍候......

我要回帖

更多关于 好之体怎么上传数据 的文章

 

随机推荐