地球地下图像的三维可视化的制作方法

文档序号:14718940发布日期:2018-06-17 00:07阅读:454来源:国知局

技术领域

本发明一般地涉及计算机图形学领域,并且更特别地涉及用于使图像在三维背景下可视化的系统、方法和存储器介质。



背景技术:

计算机图形学领域已经发展到能够使用软件工具来生成和可视化复杂的三维场景的程度了。但是,对于地质学家以及对为所感兴趣的特征或经济价值而勘探地球地下感兴趣的人们来说,此类工具可能难以使用。因而,需要更加特别地适合于地球地下的可视化的工具。



技术实现要素:

在一组实施例中,用于使一个或多个图像在三维(3D)环境下可视化的方法可以包括下列操作。

方法可以包括使用显示系统来显示2D地图窗口。2D地图窗口表示根据给定的绘图参考系统(或地图投影系统)的地球表面的给定部分。所使用的绘图参考系统可以由用户选择确定。类似地,地球表面的被显示部分可以由用户选择确定。

方法还可以包括接收指定2D地图窗口中的多个(或一系列)点的用户输入。该多个点限定了折线。因而,该多个点包括两个端点以及零个或多个关节点(kneepoint)。作为选择,用户可以通过不同于在2D地图窗口中指定它们的手段来指定该多个点。例如,用户可以指定通过借助输入对话框输入它们的坐标值点,或者简单地通过识别存储于存储器中的之前生成的点列表来指定。

方法还可以包括接收指定沿垂直维度的垂直范围的用户输入。垂直维度可以理解为垂直于地球表面的给定部分的延伸。

方法还可以包括接收识别存储于存储器之内的图像的用户输入。图像的内容以及处理图像的手段在本发明中并不受约束。而且,图像并不限于特定的文件格式。

方法还可以包括基于折线和垂直范围来生成几何数据集,其中该几何数据集表示三维空间中的折叠矩形。该折叠矩形对于折线中的每个关节点都具有一个折叠(fold)。在折线没有关节点的情况下,折叠矩形只是没有折叠的矩形。

2D地图窗口可以表示水平投影面。因而,折线在几何上可以理解为折叠平面到水平面上的投影。类似地,垂直范围在几何上可以理解为折叠平面到垂直维度上的投影。

方法还可以包括将几何数据集添加至3D虚拟世界(例如,场景图),以及将图像的副本添加至3D虚拟世界。将图像副本添加至3D虚拟世界的操作可以包括指定:该图像副本将作为纹理应用于几何数据集。(3D虚拟世界是含有用于限定3D环境的数据对象的数据结构)。

方法还可以包括渲染(render)3D虚拟世界以获得渲染的图像。渲染3D虚拟世界的动作包括将图像副本用作纹理来渲染几何数据集。

方法还可以包括使用显示系统在3D窗口中显示所渲染的图像。当显示时,所渲染的图像在视觉上表示(示出)被描绘于三维空间的折叠矩形之上的图像。

在各种实施例中,方法还可以允许用户将附加的图像描绘的折叠矩形添加至三维空间。图像描绘的折叠矩形在三维空间中可以具有任意所期望的构型。例如,它们可以彼此自由地相交。

在各种实施例中,方法还可以允许用户在3D世界中“四处走动”(导航)。

在某些实施例中,3D虚拟世界可以包括一个或多个其它类型的图形对象。因而,通过渲染动作所获得的渲染的图像可以包括其它类型的图形对象的可视化表示。例如,3D虚拟世界可以包括:表示一个或多个储层模型的对象;表示一个或多个地下层位(subsurfacehorizon)的对象;表示一个或多个地震剖面的对象;表示在地球地下中的井眼的三维轨迹的对象;或者它们的任意组合。

在某些是实例中,构想了有存储程序指令的计算机可访问的存储介质。程序指令是可由计算机系统执行以实现方法,例如,在此所描述的方法实施例,或者,在此所描述的方法实施例的任意组合,或者,在此所描述的任意方法实施例的任意子集。

在某些实施例中,计算机系统被配置以包括处理器(或一组处理器)和存储介质。存储介质存储程序指令。处理器被配置用于读取并执行程序指令。程序指令可执行用于实现方法,例如,在此所描述的各种方法实施例的任一种,或者在此所描述的方法实施例的任意组合,或者,在此所描述的方法实施例的任意子集。计算机系统可以以各种形式中的任一种来实现。

在此所描述的各种实施例允许用户(或一组用户)观看在三维背景下的,即,描绘于再三维空间内所排布的折叠矩形上的图像。这种观看性能可以允许用户作出关于图像中的特征和/或结构的更知情的解释和决定。例如,用户可以使用在此所描述的可视化来作出关于在何处钻打一组单个或多个井眼,在何处对井眼进行穿孔,在给定的储层中钻打多少井眼的决定;估计储层的生产能力;估计勘探诸如石油、天然气、矿石或煤炭的物质的给定矿藏的成本或难度;等等。

附图说明

图1A示出了用于使图像在3D背景下可视化的方法的一种实施例。

图1B示出了图像被描绘于三维空间中的折叠矩形上的一种实例。

图1C示出了图像被描绘于三维空间中的折叠矩形上的另一种实例。

图2示出了可以用来执行程序指令的计算机系统的一种实施例。

图3A示出了用于将第二折叠矩形添加至三维空间的方法的一种实施例。

图3B示出了两个折叠矩形相交于三维空间中的实例。

图4A示出了用于修改折叠矩形在3D空间中的空间构型的方法的一种实施例。

图4B示出了折叠矩形通过移动对应的折现中的关节点来修改的实例。

图5A示出了用于通过移动窗口W2中的对应折线来转移3D空间中的折叠矩形的方法的一种实施例。

图5B示出了通过移动窗口W2中的对应折线P1来转移折叠矩形F1的实例。

图6A示出了用于通过指定给对应的折线添加点至来给3D空间中的折叠矩形添加结构的方法的一种实施例。

图6B示出了通过给对应的折线添加另一个点来给三维空间中的对象添加另一个面的实例。

图7示出了用于在3D空间中移动观看点的方法的一种实施例。

图8示出了用于在3D空间中改变观看方向的方法的一种实施例。

图9A示出了调整观看点和观看方向以实现在3D环境中“四处走动”的效果的实例。

图9B示出了用于基于用户指定的旋转来同步调整观看点和观看方向的方法的一种实施例。

图10A示出了用于基于当前光标在窗口W2中的位置而使窗口W1中的折线上的点突出显示(highlight)的方法的一种实施例。

图10B示出了在窗口W2中的折叠矩形F1上的光标位置XC的实例。

图10C示出了由当前观看点和当前观看方向所限定的射线的实例;由射线所命中的在折叠矩形F1上的点Q;以及在窗口W3中的对应点(以叉丝准线突出显示的)。

图11示出了用于显示坐标框信息的方法的一种实施例。

图12A示出了用于生成三维空间的折叠矩形的“扁平”可视化的方法的一种实施例。

图12B示出了在窗口W3中的“扁平”可视化(在此也称为“2D剖视图”)的实例。

图13A示出了用于在3D空间中的折叠矩形上画图、书写或打字的方法的一种实施例。

图13B示出了在窗口W3的图像中画水平线并且使该图画出现于折叠矩形F1上的实例。

图14A示出了用于将空间定位的注释添加至对象(例如,在3D空间中的折叠矩形之一)上的表面的方法的一种实施例。

图14B示出了将图形指示符1472注入至折叠矩形F1上以指出空间定位的注释的存在的实例。

图15示出了用于使在3D空间中给定的一个折叠矩形上产生动画,即,以一系列图像产生动画的方法的一种实施例

图16示出了根据一种实施例的垂直地理参考的栅格图像的多个视图。

虽然本发明易受到各种修改及可选形式的影响,但是其具体的实施例以实例的方式示出于附图中并在此详细地描述。但是,应当理解,附图及其详细的描述并不旨在将本发明限制于在此所公开的特定形式,而是相反地,本发明将覆盖属于由所附权利要求所限定的本发明的精神和范围之内的所有修改、等价物和替代物。

具体实施方式

本发明可以用任意不同的方式来实现。例如,在某些实施例中,本发明可以实现为计算机实现的方法、计算机可访问的存储介质或计算机系统。在其它实施例中,本发明可以使用一个或多个用户定制的硬件设备(例如,ASIC或FPGA的)来实现。

存储介质是配置用于存储和检索信息的介质。存储介质的实例包括:各种类型的半导体存储器,例如,RAM和ROM;各种类型的磁介质,例如,磁盘、磁带、磁条和磁性膜;各种类型的光学介质,例如,CD-ROM和DVD-ROM;基于电荷和/或其它物理量的存储的各种介质;使用各种光刻技术制作的介质;等等。

计算机可访问的存储介质是存储程序指令和/或数据的存储介质,其中程序指令可由计算机系统执行以实现方法,例如,在此所描述的方法实施例的任一种,或者,在此所描述的方法实施例的任意组合,或者,在此所描述的任意方法实施例的任意子集。

在某些实施例中,计算机系统可以被配置以包括处理器(或一组处理器)和存储介质。存储介质存储程序指令。处理器被配置用于读取和执行程序指令。程序指令可执行用于实现在此所描述的各种方法实施例的任一种(或者,在此所描述的方法实施例的任意组合,或者,在此所描述的任意方法实施例的任意子集)。计算机系统可以用任意各种形式来实现。例如,计算机系统可以是个人电脑(在其各种实现的任一种中)、工作站、卡上计算机、服务器计算机、客户端计算机、手持式设备等。

在某些实施例中,通过网络所分布的一组计算机可以配置用于分散执行计算方法(例如,在此所描述的方法实施例中的任一种)的工作。

在一种实施例中,用于使一个或多个图像在三维(3D)环境下可视化的计算机实现的方法100可以包括以下结合图1A-1C来描述的操作。

在110,计算机系统(或一组计算机系统)可以使用显示系统来显示窗口W1。窗口W1表示根据给定的绘图参考系统(或地图投影系统)的地球表面的给定部分。窗口W1可以被配置以允许以下所描述的某些类型的图画输入。术语“窗口”具有其一般含义的充分广度,并且指的是用于显示内容(例如图像、文本等)的显示屏的一部分或全部。窗口可以是用于接收用户输入和/或显示输出的图形用户界面(GUI)元件。

在此所使用的术语“地球表面”指的是行星地球的整个表面,包括陆地表面和海/海洋/水表面。

用户可以从一组所支持的绘图参考系统中选择所使用的绘图参考系统。该组所支持的参考系统可以包括与石油和天然气勘探领域有关的参考系统。例如,在一种实施例中,支持下列绘图参考系统:WGS84、EPSG4326及任何UTM区。

而且,用户可以选择地球表面中正被检查/可视化的部分。

在120,计算机系统可以接收在窗口W1中指定多个点(或列表)的用户输入,其中该多个点限定了折线P1。(折线是被连接以形成路径的线段的序列)。该多个点包括两个端点和零个或多个关节点。关节点是中间点,即,不是端点之一的点。示出于图1B中的折线P1具有两个关节点。示出于图1C中的折线P1具有一个关节点。在折线包括零个关节点的情况下,折线就是线段。

用户可以通过在窗口W1中执行基于鼠标的操作(例如,诸如鼠标点击和拖动操作那样的操作)来指定多个点。

作为选择,用户可以通过不同于在W1中指定该多个点的方法来指定(或识别)它们。例如,在一种输入模式中,用户可以通过在给定的绘图参考系统中输入点坐标(例如,通过在输入框中键盘输入的方法)来指定该多个点。在另一种输入模式中,用户可以识别已经存储于存储器中的点的列表。

在130,计算机系统可以接收指定沿垂直维度的垂直范围R1的用户输入,该垂直维度R1垂直于地球表面的给定部分。范围R1是沿垂直维度的区间[A,B]。用户可以通过各种方法中的任何种来指定范围R1。例如,用户可以通过点击表示垂直维度的所显示的线段(或条)的期望位置来标记区间边界值A和B。作为另一个实例,用户可以通过在图形用户界面中的数字输入栏(例如,所显示的输入对话框)来输入值A和B。作为又一个实例,用户可以输入值A和δ=B-A,即,起始值和区间长度。

计算机系统可以允许用户选择将要与垂直维度有关的物理变量。例如,在一种实施例中,用户可以将垂直维度选择为深度或时间。在试图使地球下的物理结构可视化时,选择深度可以是有用的。在使以双向传播时间测得的具有垂直分量的数据对象(例如,地震数据)可视化时,选择时间可以是有用的。

在140,计算机系统可以接收识别存储于存储器内(例如,在计算机的RAM中或者在磁盘或网络上的服务器上)的图像I1的用户输入。图像I1的内容以及生成该图像的方法并不受本发明所约束。而且,图像不限于任何特定格式。在一种实施例中,可以使用以下任何种图像扩展名:JPEG=“jpeg”、JPG=“jpg”、GIF=“gif”、TIFF=“tiff”、TIF=“tif”、PNG=“png”、BMP=“bmp”和PNM=“pnm”。

在150,计算机系统可以基于折线P1和垂直范围R1来生成几何数据集S1,其中几何数据集S1表示三维空间中的折叠矩形F1。折叠矩形F1对于折线P1中的每个关节点都具有一个折叠。在折线P1不具有关节点的情况下,折叠矩形F1仅为没有折叠的矩形。

窗口W2可以表示水平投影面。因而,折线P1在几何上可以理解为折叠平面F1到水平面上的投影。类似地,垂直范围R1在几何上可以理解为折叠平面到垂直维度上的投影。

在一种实施例中,几何数据集S1可以包括三角形网格(或多边形的网格)。几何数据集S1还可以包括三角形集(TriangleSet)和/或四边形集(QuadSet)。

在160,计算机系统可以将几何数据集S1添加至3D虚拟世界。3D虚拟世界是含有用于限定3D环境的数据对象的数据结构,例如,诸如几何数据集、纹理、转换和光线那样的数据对象。在一种实施例中,3D虚拟世界被组织为树形结构,例如,作为场景图或场景图的一部分。

在170,计算机系统可以将图像I1的副本添加至3D虚拟世界。将图像副本添加至3D虚拟世界的操作可以包括指定该图像副本将要作为纹理应用于几何数据集S1。因而,图像副本可以是与几何数据S1“一致”的。

在180,计算机系统可以渲染3D虚拟世界以获得所渲染的图像,其中渲染动作包括将图像副本用作纹理来渲染几何数据集。在一种实施例中,计算机系统可以包括专门用于执行图形渲染计算的一个或多个图形加速器。渲染3D虚拟世界的动作可以调用一个或多个图形加速器的服务。

在190,计算机系统可以使用显示系统在窗口W2中显示所渲染的图像。当显示时,所渲染的图像在视觉上表示(示出)三维空间中的被描绘于折叠矩形之上的图像I1。例如,在图1B中,图像I1包括三个棍子人。

该图像被描绘于窗口W2中所示的折叠矩形F1上。作为另一个实例,在图1C中,图像I1包括图案“XYZ”。该图案被描绘于折叠矩形F1上,该折叠矩形F1在本图中只有一个折叠。

在各种实施例中,图1A的某些动作可以同时(或部分同时)执行,按与所示顺序不同的顺序执行,或者被省略。若需要,还可以执行附加的动作。

在一种实施例中,3D虚拟世界可以包括一个或多个其它图形对象。因而,通过(图1A的)渲染动作180所获得的渲染的图像可以包括那些一个或两个的图形对象的可视表示。例如,3D虚拟世界可以包括诸如下列的图形对象:表示一个或多个储层模型的对象;表示一个或多个地下层位的对象;表示一个或多个地震剖面的对象;以及表示地球地下中的井眼的三维轨迹的对象。

图2示出了可以用来执行上述方法实施例,或者,在此所描述的方法实施例中的任一种,或者,在此所描述的方法实施例的任意组合的计算机系统200的一种实施例。计算机系统200可以包括处理单元210、系统存储器212、一组单个或多个存储设备215、通信总线220、一组输入设备225以及显示系统230。

系统存储器212可以包括一组半导体器件,例如RAM器件(并且还可能包括一组ROM器件)。

存储设备组215可以包括各种存储设备中的任何种,例如,一个或多个存储介质和/或存储器访问设备。例如,存储设备215可以包括诸如CD-ROM驱动器、硬盘、磁盘驱动器、磁带驱动器等设备。

处理单元210被配置用于读取和执行程序指令,例如,存储于系统存储器212中和/或在一个或多个存储设备215上的程序指令。处理单元210可以通过通信总线220(或通过互联总线的系统)耦接至系统存储器212。程序指令配置计算机系统200用于执行方法,例如,在此所描述的方法实施例中的任何种,或者,在此所描述的方法实施例的任意组合,或者,在此所描述的任意方法实施例的任意子集。

处理单元210可以包括一个或多个可编程的处理器(例如,微处理器)。

一个或多个用户可以通过输入设备组225将输入提供给计算机系统200。输入设备225可以包括诸如键盘、鼠标、触摸板、数字化图板、跟踪球、光笔、数据手套、眼取向和/或头取向传感器、传声器(或传声器组)的设备,或者它们的任意组合。

以上结合图1A所描述的用户输入动作可以使用一个或多个输入设备225来执行。

显示系统230可以包括表示广泛种类的显示技术中的任何技术的各种显示设备中的任何种。例如,显示系统可以是计算机监视器、安装于头部的显示器、投影系统、立体显示器,或者它们的组合。在某些实施例中,显示系统可以包括多个显示设备。在一个实施例中,显示系统包括打印机和/或绘图仪。

在某些实施例中,计算机系统200可以包括其它设备,例如,诸如扬声器(或扬声器组)、声卡、摄像机和视频卡那样的设备。

以上结合图1A所描述的显示动作可以使用显示系统230来执行。

在一种实施例中,计算机系统200可以包括一个或多个通信设备235,例如,用于与计算机网络接口地连接的网络接口卡。

计算机系统可以用包括操作系统和图形API(例如Direct3D、Java3DTM)的软件基础设施来配置。因而,在此所描述的各种方法实施例可以根据在需要时对操作系统或图形API进行函数调用的程序来实现。例如,渲染3D虚拟世界的动作可以由对图形API的一个或多个调用集来实现。

在一种实施例中,计算机系统200可以被配置用于执行代表多个用户的图1A的方法实施例,每个用户都具有他/她自己对3D虚拟世界的视角。在本实施例中,计算机系统200可以与网络上的多个客户端计算机通信。那些客户端计算机每个都可以包括其自身的显示系统和输入设备组。因而,计算机系统200可以接收来自网络上的客户端计算机的用户输入并且将所渲染的图像发送给网络上的客户端计算机。计算机系统200可以为每个客户端计算机维持独立的观看信息。

如上所指出的,图像I1的内容并不受本发明所约束。但是,应当预期到,各种用户可能对下列图像类型中的一种或多种感兴趣:由传感器测量所得到的图像;由计算机仿真所得到的图像;表示地质横剖面(例如,盆地温度横剖面或结构横剖面)的图像;表示地震剖面的图像;手绘并然后扫描的图像;艺术家的渲染;表示通过地球的地下的井眼轨道的图像;表示储层模型剖面的图像;从因特网(Internet)上下载的图像;存储于系统存储器212内的图像;存储于其中一个存储设备215上的图像;由通过一个或多个输入设备225进行的画图操作所限定的图像;或者以上图像的任意组合。

含有简单的人物线条画的图像被用作出现于本说明书中的许多附图内的实例。但是,这些简单的人物画仅出于讨论起见而使用。它们并不是要暗示或隐含对能够用于在此所描述的实施例的图像类型的限制。

在一种实施例中,诸如图1A的方法那样的方法还可以包括接收为几何数据集S1指定半透明控制值的用户输入的动作。几何数据集S1以由半透明控制值所确定的半透明度来渲染。半透明度从透明变化到完全不透明。该特征允许用户在需要时查看(或部分查看)在折叠矩形后面的对象(多个对象)。

在一种实施例中,诸如图1A的方法那样的方法还可以支持添加第二对象(有图像覆盖的折叠矩形),例如,像在图3A中所描述的以及在图3B中所示出的那样。

在310,计算机系统可以接收在窗口W1中指定第二多个点的用户输入,其中该第二多个点限定了第二折线P2。第二多个点包括两个端点以及零个或多个关节点。

在320,计算机系统可以接收指定沿垂直维度的第二垂直范围R2的用户输入。

在330,计算机系统可以接收识别存储于存储器内的第二图像I2的用户输入。

在340,计算机系统可以基于第二折线P2和第二垂直范围R2来生成第二几何数据集S2,其中第二几何数据集S2表示在三维空间中的第二折叠矩形F2。第二折叠矩形F2对于第二折线中的每个关节点都具有一个折叠。

在350,计算机系统可以将第二几何数据集S2添加至3D虚拟世界。

在360,计算机系统可以将第二图形I2的副本添加至3D虚拟世界,其中添加第二图像副本的动作包括指定第二图像副本将作为纹理应用于第二几何数据集S2。

在370,计算机系统可以在添加了第二几何数据集S2和第二图像副本之后,渲染3D虚拟世界以便获得第二渲染的图像。该渲染3D虚拟世界的动作包括将第二图像副本用作纹理来渲染第二几何数据集。该渲染动作还可以包括使用第一图像I1的副本用作纹理来渲染第一几何数据集S1。

在380,计算机系统可以使用显示系统在第二窗口W2中显示第二渲染的图像,其中第二渲染的图像(如经由显示系统所显示的)在视觉上表示在三维空间中被描绘于第一折叠矩形上的第一图像以及被描绘于第二折叠矩形上的第二图像。

任意数量的各自覆盖有图像的此类折叠矩形可以通过反复图2的动作来嵌入3D虚拟世界中。

注意,第一折线P1和第二折线P2可以彼此相交于窗口W1中,例如,如图3B所示。在这种情况下,折叠矩形F1和折叠矩形F2将相交于3D虚拟世界中,使得它们的垂直范围(R1和R2)重叠。图3B示出了折叠矩形于窗口W2中的相交。

在一种实施例中,诸如图1A的方法那样的方法还可以借助于由第一窗口W1所提供的输入来支持折叠矩形F1的用户操作。例如,在折线P1上的选择点的用户引导的移动可以包括折叠矩形F1的空间构型的相应改变,例如,如同结合图4A和4B所描述的那样。

在410,计算机系统可以接收指定限定折线P1的点中的一个点的转移的用户输入,以便为窗口W1中的折线指定新的构型。计算机系统可以允许用户通过鼠标和/或键盘动作(例如,使用鼠标的点击和拖动操作)来提供用户输入。在某些实施例中,也可以使用其它输入设备。转移可以是在窗口W1内的向量转移。所转移的点可以是折线的任意点。图4B示出了将折线的中间点拖动至新位置的用户输入。折线的新的构型由P表示。通过例如放开鼠标左键可以使折线的原始构型在用户指定了转移之后消失。

在420,计算机系统可以基于垂直范围R1以及折线P1的新的构型P来生成新的几何数据集S,其中新的几何数据集S表示在三维空间中的所修改的折叠矩形F

在430,计算机系统可以从3D虚拟世界中去除原始的几何数据集S1。

在440,计算机系统可以将新的几何数据集S添加至3D虚拟世界。

在450,计算机系统可以(在去除了几何数据集S1以及添加了新的几何数据集S之后)渲染3D虚拟世界,以便获得新的渲染的图像。该渲染3D虚拟世界的动作可以包括将图像I1的副本用作纹理来渲染新的几何数据集S。在图4B中,图像I1是包括两个棍子人的图像。

在460,计算机系统可以在第二窗口W2中显示新的渲染的图像。见图4B中的窗口W2的“之后”版本。新的渲染的图像(如经由窗口W2所显示的)在视觉上表示被描绘于三维空间中的所修改的折叠矩形F上的图像I1。

在一种实施例中,诸如图1A的方法那样的方法还可以借助于由窗口W1所提供的输入来支持折叠矩形F1的用户转移。例如,在窗口W1中的折线P1的用户控制的转移可以包括折叠矩形F1的相应转移,例如,如同结合图5A和5B所描述的那样。

在510,计算机系统可以接收指定窗口W1中的折线P1的转移的用户输入。例如,用户输入可以使用其中一个输入设备225来提供。

在520,计算机系统可以将转移应用于限定折线P1的多个点,以便在窗口W1中获得所转移的折线。在一种实施例中,用户输入通过鼠标和/或键盘来提供。在图5B中,所转移的折线由P表示。

在530,计算机系统可以基于垂直范围R1以及所转移的折线P来生成新的几何数据集S,其中新的几何数据集S表示在三维空间中的新的折叠矩形F,即,折叠矩形F1的转移版本。在一种实施例中,新的几何数据集S通过基于水平面内的用户指定的转移来转移原始的几何数据集S1的每个顶点而生成。

在540,计算机系统可以从3D虚拟世界中去除原始的几何数据集S1。

在550,计算机系统可以将新的几何数据集S添加至3D虚拟世界。

在560,计算机系统可以(在去除了原始几何数据集以及添加了新的几何数据集之后)渲染3D虚拟世界,以便获得新的渲染的图像。该渲染3D虚拟世界的动作可以包括将图像I1的副本用作纹理来渲染新的几何数据集S。在图5B中,假定图像I1是包括两个棍子人的图像。

在570,计算机系统可以使用显示系统在窗口W2中显示新的渲染的图像,其中新的渲染的图像(如窗口W2中所显示的)在视觉上表示被描绘于三维空间中的新的折叠矩形上的图像I1。图5B在同一窗口中示出了原始的折叠矩形F1和新的折叠矩形F两者,以便本说明书的读者可以看它们的空间关系。但是,本发明并不要求这两个折叠矩形在任意给定的时间点都是同时可见的。例如,在某些实施例中或者在某些操作模式中,这两个折叠矩形从不在窗口W2中同时可见。

在一种实施例中,诸如图1A的方法那样的方法还可以借助于由窗口W1所提供的输入来支持给折叠矩形F1增加新的构型。例如,当用户将附加的点添加至窗口W1中的折线P1时,计算机系统可以修改折叠矩形F1以符合折线的新的构型,例如,如同以下结合图6A所描述的那样。

在610,计算机系统可以接收指定给窗口W1中的折线P1添加新点的用户输入。

在620,计算机系统可以接收指定(窗口W2中的)新点的位置的用户输入,以便指定窗口W1中的折线P1的新的构型。在图6B中,新的点Z被添加至最初包括点X和Y的折线P1。

在630,计算机系统可以基于垂直范围R1以及折线P1的新的构型来生成新的几何数据集S,其中新的几何数据集S表示在三维空间中的新的折叠矩形F

在640,计算机系统可以从3D虚拟世界中去除原始的几何数据集S1。

在650,计算机系统可以将新的几何数据集S添加至3D虚拟世界。

在660,计算机系统可以(在去除了原始几何数据集以及添加了新的几何数据集之后)渲染3D虚拟世界,以便获得新的渲染的图像。该渲染3D虚拟世界的动作可以包括将图像I1的副本用作纹理来渲染新的几何数据集S

在670,计算机系统可以在窗口W2中显示新的渲染的图像,其中新的渲染的图像(如窗口W2中所显示的)在视觉上表示被描绘于三维空间中的新的折叠矩形F上的图像I1。在图6B中,图像I1是含有字母“A”的简单图像。窗口W2的之前(BEFORE)状态显示了与折线P1的原始构型相对应的折叠矩形F1。窗口W2的之后(AFTER)状态显示了与折线P1的新的构型相对应的折叠矩形F

虽然图6B示出了新点被添加至折线的末端,但是计算机系统还可以支持沿着形成折线的线段当中由用户选择的一个线段来添加新点,并且给三维空间中的折叠矩形添加对应的结构。

计算机系统还可以支持从折线中删除用户选择的点,以及从三维空间内的折叠矩形中的结构的相应去除。

在某些实施例中,诸如图1A的方法那样的方法还可以允许用户基于用户输入(例如,经由窗口W2和/或窗口W1所提供的用户输入)来改变3D虚拟世界中的虚拟观察者的观看位置。在图7中示出了这样一种实施例。

在710,计算机系统可以接收指定3D虚拟世界中的新的观看位置的用户输入。例如,用户可以通过在窗口W2之内点击和拖动来指定新的观看位置。拖动位移的方向和大小可以用来确定新的观看位置。作为选择,用户可以通过在窗口W1之内点击和拖动来指定新的观看位置。

在720,计算机系统可以基于新的观看位置来渲染3D虚拟世界以获得新的渲染的图像。该渲染3D虚拟世界的动作包括将图像I1的副本用作纹理来渲染几何数据集S1。

在730,计算机系统可以在窗口W2中显示新的渲染的图像。新的渲染的图像描绘了从新的观看位置所看到的3D虚拟世界(包括具有其图像褶皱(imagedrape)的折叠矩形F1)。

在观看位置调整的一种模式中,观看位置沿着由当前观看位置和当前观看方向所限定的有向线移动。因而,用户可以向前来“放大”对象(或整个环境)或者向后来“缩小”。在一种实施例中,鼠标的滚轮可以用来指定此类移动。

在一种实施例中,诸如图1A的方法那样的方法还可以允许用户基于在窗口W2和/或窗口W1中所提供的用户输入来改变3D虚拟世界中的虚拟观察者的观看方向,例如,如图8所示的那样。

在810,计算机系统可以接收指定3D虚拟世界中的新的观看方向的用户输入。例如,用户可以通过鼠标和/或键盘操作和/或使用一个或多个其它的输入设备的输入来指定新的观看方向。

在820,计算机系统可以基于新的观看方向来渲染3D虚拟世界以获得新的渲染的图像。该渲染3D虚拟世界的动作包括将图像I1的副本用作纹理来渲染几何数据集S1。

在830,计算机系统可以在窗口W2中显示新的渲染的图像。新的渲染的图像描绘了从新的观看方向所看到的3D虚拟世界(包括具有其图像褶皱的折叠矩形F1)。

而且,诸如图1A的方法那样的方法还可以允许用户同时调整观看点和观看方向,以实现围绕3D虚拟世界中的某一中心位置旋转3D虚拟世界中的全部对象的效果。在某些实施例中,可以同时调整观看点和观看方向,使得由观看点VP和观看方向VD所限定的观看射线围绕观看射线上的某一中心点C旋转,如图9A所示。一种这样的实施例可以通过下列动作来实现,如图9B所示。

在910,计算机系统可以接收指定旋转(例如,相对于3D虚拟世界中的中心点的旋转)的用户输入。用户输入可以通过各种方法中的任何种来提供。在一种实施例中,用户输入可以通过在窗口W2中(或者作为选择,在窗口W1中)的鼠标操作(例如,点击和拖动操作)来提供。

在920,计算机系统可以基于该旋转来计算新的观看位置和新的观看方向。例如,计算机系统可以通过分别将旋转应用于当前观看点和当前观看方向来计算新的观看位置和新的观看方向。

在930,计算机系统可以基于新的观看位置和新的观看方向来渲染3D虚拟世界以获得新的渲染的图像。

在940,计算机系统可以在窗口W2中显示新的渲染的图像。新的渲染的图像在视觉上表示(描述)可从新的观看点和新的观看方向看见的任何对象。

在一种实施例中,诸如图1A的方法那样的方法允许用户在三维空间中所选择的一个折叠矩形上生成动画。例如,图像I1可以是存储于存储器内的用户识别的输入图像序列的一部分。计算机系统可以反复渲染3D虚拟世界(或者,至少几何数据集S1)以生成输出图像序列,其中对于几何数据集S1,每次渲染都将输入图像中的不同的一个用作纹理。计算机系统在窗口W2中显示了输出图像序列,以便在折叠矩形F1上实现动画效果。

在某些实施例中,计算机系统允许用户从所支持的域(domain)的集合中选出垂直维度的域。因而,计算机系统可以接收为垂直维度选择域的用户输入。在一种实施例中,所支持的域的集合至少包括时间(例如,双向传播时间)和深度(例如,TVD或TVDSS)。TVS是真实垂直深度(TrueVerticalDepth)的首字母缩写。TVDSS是海底真实垂直深度(TrueVerticalDepthSubsea)的首字母缩写。

在一种实施例中,诸如图1A的方法那样的方法还可以在3D虚拟世界中检测当前所识别的表面点并且在窗口W1中突出显示对应折线上的对应点,例如,如以下结合图10A-C所描述的。

在1010,计算机系统可以接收指示窗口W2之内的当前光标位置XC(例如,鼠标光标的当前位置)的信息。图10B示出了具有叉丝准线的光标位置XC。

在1020,计算机可以确定由当前观看位置VP和当前光标位置所限定的射线(在3D虚拟世界中)与折叠矩形F1相交于点Q。参见图10C的左侧。

在1030,计算机系统可以基于相交点Q来计算沿着折线P1的点Q

在1040,计算机系统可以更新窗口W1的内容以在视觉上指示沿着折线P1的点Q。例如,点Q可以由图10C所示的叉丝准线指示。

动作1010到1040可以按照足够以在用户于窗口W2内四处移动光标时响应光标的瞬时位置的速率来反复。

一般而言,由当前的观看位置和当前的光标位置所限定的射线能够具有与3D虚拟世界中的对象的多于一个的相交点。当存在多于一个的相交点时,计算机系统可以选择第一相交点,即,在3D虚拟世界中最接近于当前观看点的相交点。如果对应于第一相交的对象是折叠矩形,则计算机系统可以使用上述方法实施例来确定对应折线的点并且突出显示该确定的点。

诸如图1A的方法那样的方法还可以提供正由计算机系统使用的2D和3D坐标系统的一个或多个可视指示符。例如,在一种实施例中,计算机系统可以执行下列操作,如图11所示。

在1110,计算机系统可以在窗口W1中显示二维坐标框,其中该二维坐标框以指示正被使用的绘图参考系统的坐标值的细分割(subdivision)来标记。例如,参见图1B。2D坐标框可以包括一对轴,或,二维网格。

在1120,计算机系统可以在窗口W2内显示三维坐标框,例如,具有指示坐标值的标记。3D坐标框可以包括三个轴的集合,或者作为选择,3D网格的可视化表示。例如,参见图1B。

诸如图1A的方法那样的方法可以提供3D虚拟世界中的给定折叠矩形的“2D剖视图”。2D剖视图可以给用户示出了折叠矩形(具有“其上所描绘的”图像)在被变平时的外观。例如,在一种实施例中,计算机系统可以通过执行下列操作来给出这样的视图,如图12A和12B所示。

在1210,计算机系统可以基于图像I1来生成图像ISV,其中图像ISV具有(a)对应于窗口W1中的折线P1的总弧长的水平宽度以及(b)对应于垂直范围R1的大小的垂直高度。在一种实施例中,水平宽度与折线P1的总弧长成比例,并且垂直高度与垂直范围R1的大小成比例(具有相同的比例常数)。

在1220,计算机系统可以使用显示系统在窗口W3中显示图像ISV和二维坐标框。二维坐标框的水平轴可以表示沿着折线P1(或者沿着折叠矩形F1的上边缘)的弧长。二维坐标框的纵轴可以表示垂直范围R1之内的位置。参见图12B。

在一种实施例中,诸如图12的方法那样的方法还可以在窗口W2中检测在折叠矩形上的当前所识别的表面点并且在窗口W3中突出显示在图像上的对应点。图12C示出了这样一个实例。用户已经将光标定位于窗口W2中,使得它处于折叠矩形F1上的点XC处。计算机系统在窗口W3中突出显示图像上的对应点q。

在一种实施例中,诸如图1A的方法或图12A的方法那样的方法还可以给用户提供在折叠矩形上画图(或者书写或打字)(例如,在已经描绘于折叠矩形上的图像之上画图)的能力。一种这样的实施例在下文结合图13A和13B来描述。

在1310,计算机系统可以接收在窗口W3中指定形状的用户输入。用户输入可以使用一个或多个输入设备225(例如,使用鼠标或画图工具)来提供。在一种画图模式中,形状可以是曲线或一组曲线。图13B示出了作为延伸于从左侧起的第一和第二棍子人之间的水平线的形状。在另一种画图模式中,形状可以是闭合的图形,例如,多边形对象、圆、椭圆等。在文本模型中,用户输入是文本。因而,形状表示用户提供的文本。

在1320,计算机系统可以将表示该形状的层添加至3D虚拟世界,其中添加层的动作包括指定该层将要在将图像I1的副本用作纹理之后应用于几何数据集S1。(因而,所添加的层可以说是与几何数据集S1“一致的”)。

在1330,计算机系统可以在添加了该层之后渲染几何数据集S1,以获得新的渲染的图像。

在1340,计算机系统可以使用显示系统在窗口W2中显示新的渲染的图像,其中新的渲染的图像(如窗口W2中所显示的)在视觉上表示被描绘于三维空间中的折叠矩形F1上的图像I1和形状。注意,在图13B中,棍子人之间的线已经被描绘于图像覆盖的折叠矩形F1的表面之上。

在某些实施例中,诸如图1A的方法那样的方法还可以允许用户将空间定位的注释添加至3D虚拟世界中的其中一个折叠矩形。以下结合图14来描述这样一种实施例。用户可能希望添加空间定位的注释来表达他/她对出现于图像覆盖的折叠矩形F1的相交点Q处的图像特征的解释。在某些实施例中,可以使注释可由计算机系统的一个或多个其它用户看见。

在1410,计算机系统可以接收指出将空间定位的注释添加至3D虚拟世界的要求的用户输入。

在1420,计算机系统可以接收指示在窗口W2中的当前光标位置的用户输入。

在1430,计算机系统可以确定由当前观看位置和当前光标位置所限定的射线在三维空间中与折叠矩形F1相交于点Q。

在1440,计算机系统可以接收指定(或识别)与折叠矩形F1和相交点Q相关的数据的用户输入。数据可以表示在图像覆盖的折叠矩形F1上的相交点Q处的某些特征的用户解释。

数据可以采用多种形式中的任何种。例如,在一种实施例中,数据可以包括字符串(例如,由用户输入的键盘字符串)。在另一种实施例中,数据可以包括字符串、语音记录、视频记录,或者它们的任意组合。

在1450,计算机系统可以将图形对象GSLA添加至3D虚拟世界,其中图形对象GSLA在三维空间中位于相交点Q处或附近。图形对象表示(或指示)与折叠矩形F1和相交点Q相关的空间定位的注释。在某些实施例中,图形对象是二维的对象。在图14B中,图形对象是具有叠加的矩形的一组叉丝准线。(参见项1472)。

在1460,计算机系统可以存储与图形对象相关的数据。例如,数据可以关联于图形对象,或者存储于(3D虚拟世界的)与图形对象相同的节点的下方。

在1470,计算机系统可以渲染3D虚拟世界(或者至少几何数据集S1)以获得新的渲染的图像。3D虚拟世界的渲染包括使用图像I1的副本和图形对象GSLA来渲染几何数据集S1。

在1480,计算机系统可以在窗口W2中显示新的渲染的图像。新的渲染的图像(如窗口W2中所显示的)在视觉上表示被描绘于折叠矩形F1上的图像I1和图形对象。

在一种实施例中,诸如图14的方法那样的方法可以允许用户按以下方式显示(或回放)与空间定位的注释相关的数据。

首先,计算机系统可以从窗口W2中接收选择表示(或指示)空间定位的注释的图形对象GSLA的用户输入。在一种实施例中,用户可以使用鼠标点击(或双击)图形对象以选择图形对象。(在图14B的实例中,用户可以点击图形对象1472)。在另一种实施例中,用户可以简单地将光标悬停于图形对象之上来选择它。

其次,计算机系统可以响应于接收到选择图形对象的用户输入而通过输出设备来显示(或回放)数据。显示/回放的形式可以取决于数据的性质。在一种实施例中,显示的动作可以包括扩大图形对象的大小以及将数据显示于窗口W2中的图形对象内。

如图14B所示,计算机系统还可以将指示符1473贴附于窗口W3中的图形以指示空间定位的注释的存在。指示符1473可以位于与折叠矩形上的相交点Q对应的位置。类似地,计算机系统可以将指示符贴附于窗口W1中的折线P1以指示空间定位的注释的存在。通过选择指示符1473或1474,用户可以诱导注释数据的显示(或者回放或呈现)。

在某些实施例中,用于使三维(3D)环境中的图像序列可视化的计算机实现的方法1500可以包括下列操作,如图15所示。

在1510,计算机系统(例如,图2的计算机系统200)可以接收识别相对于给定的绘图参考系统所指定的点的列表的用户输入。该点的列表限定了折线。该点的列表可以包括两个端点和零个或多个关节点。

在1520,计算机系统可以接收指定沿垂直维度的垂直范围R的用户输入。如上所述,垂直维度可以垂直于地球表面的给定部分(例如,用户指定的部分)延伸。

在1530,计算机系统可以接收识别存储于存储器内的图像的序列G的用户输入。计算机系统可以允许用户单个地识别该序列的图像。作为选择,计算机系统可以允许用户识别指定图像序列的文件,例如,GIF文件。在一种实施例中,图像序列G可以是视频序列。因而,识别图像的序列的动作可以是视频数据文件的识别(或选择)。在某些实施例中,图像序列G以压缩形式存储。因而,确定图像序列G的动作可以理解为识别表示图像序列G的压缩数据文件。

在1540,计算机系统可以基于折线和垂直范围R来生成几何数据集S,其中几何数据集S表示三维空间中的折叠矩形。折叠矩形对于折线中的每个关节点都具有一个折叠。

在1550,计算机系统可以将几何数据集S添加至3D虚拟世界。

在1560,计算机系统可以反复渲染3D虚拟世界(或者至少几何数据集S)以生成渲染的图像的序列。每次渲染将序列G的其中一个对应图像作为纹理应用于几何数据集S,以获得对应的渲染的图像。

在1570,计算机系统可以使用显示系统显示渲染的图像的序列,其中显示渲染的图像的序列的动作实现了在三维空间中的折叠矩形上的图像序列G的动画。

操作1560和1570可以同时(或者至少部分同时)执行。例如,每个渲染的图像可以在它生成之后并且在不等下一个渲染的图像生成的情况下显示。

在此所描述的各种实施例可以用来为地球的地下的2D和3D渲染中的垂直线或剖面显示创建地理参考的棚格图像。

可以将地理坐标指定给栅格图像像素位置以支持2D/3D视图中的垂直剖面显示。坐标限定可以包括参考系统、垂直域、表面(XY)位置和垂直(Z)范围。这些图像可以由解释地球的地下的几何学的地球学家使用。

图16所示的实例示范了垂直地理参考的栅格图像的一组2D/3D视图。“2D剖面”视图示出了具有确定的垂直域和Z范围的图像。“2D地图”视图示出了栅格图像的确定的表面(XY)位置。“3D”视图示出了三维空间中的地理参考的栅格图像。

垂直地理参考的栅格图像(例如,以上多方面描述的描绘有图像的折叠矩形)可以提供用于将来自地质观念、扫描的图画/图像或其它数据源的地震剖面数据整合至2D/3D查看器中的机制。这些数据可以与其它信息结合以帮助指导对地球的地下的地质或地球物理学解释。

垂直地理参考的栅格图像保持了与其它数据类型的空间关系,使得地质科学解释者更好地理解地下。

在此所使用的各种标签,例如I1、I2、W1和W2,它们自身并不是要对它们所标示的事物暗示特殊意义。相反,它们旨在作为区分不同事物的方法。例如,标签“I1”和“I2”暗示图像I1与图像I2不同。

在此所描述的任意两个或更多的实施例可以结合以形成更复杂的实施例。

虽然以上已经相当详细地描述了实施例,但是对本领域技术人员而言,一旦完全理解了以上公开内之后,众多的变化和修改则变得明显。希望将下面的权利要求书理解为包括所有此类变化和修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1