二维对象装填的制作方法

文档序号:6432866阅读:118来源:国知局
专利名称:二维对象装填的制作方法
技术领域
本发明涉及计算机领域,更具体地,涉及将二维对象装填(packing)在边界区域中。
背景技术
用户界面的设计中的一项普遍任务是使得诸如各种大小和纵横比的对象的排序列表之类的对象列表中的对象能够被显示在边界区域内。实现这一设计中的一项挑战与以高效方式对每一对象进行格式化并且对各对象进行布局相关。典型实现中的约束包括减少与对象间的间隔相关联的屏幕可操作区域的浪费、减少由于裁剪对象造成的重要信息的丢失、减少以能够影响物体的被感知的质量的方式对对象的纵横比进行改变的需要、允许对每一对象的大小的用户界面控制、在适当时维持排序列表中对象的顺序以提供对于相对优先级的某些控制、以及维持对象的相对定向。此外,设计的挑战还进一步强加了与高效地使用CPU、存储器以及其它系统资源相关联的约束。

发明内容
提供本发明内容以便以简化形式介绍在以下详细描述中进一步描述的一些概念。 本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。各实施例使得诸如二维光栅图像之类的可视元素或对象能够以减少被浪费的空间的方式被装填到诸如矩形边界区域之类的边界区域中。在至少一些实施例中,二维对象装填组件尝试将个体对象适配到边界区域中。二维对象装填组件使用一区间列表来通过追踪边界区域内的区间来保持对可用空间的追踪。区间能产生在横向上相邻放置的对象和/ 或能靠近一被放置的对象的底边。在一个或多个实施例中,区间列表以从左到右、从上到下排序。在至少一些实施例中,二维对象装填组件能够使用附加特征来改善用户体验。作为示例而非限定,这些附加特征包括预估特征、对象大小调整特征、下拉特征、对象位置重分布特征、用于上下文敏感的裁剪的面部识别特征、视频特征、和/或阈值容限及结果测量特征。


在全部附图中,使用相同的附图标记来指示相同的特征。图1示出了根据一个或多个实施例的其中可以采用此处所描述的各原理的操作环境。图2示出根据一个或多个实施例的示例二维对象装填操作。图3是描述根据一个或多个实施例的方法中的各步骤的流程图。图4示出根据一个或多个实施例的对象放置操作。
图5示出根据一个或多个实施例的对象放置操作。图6示出可用于实现一个或多个实施例的示例系统。
具体实施例方式概览各实施例使得诸如二维光栅图像之类的可视元素或对象能够以减少被浪费的空间的方式被装填到诸如矩形边界区域之类的边界区域中。在至少一些实施例中,二维对象装填组件尝试将个体对象适配到边界区域中。二维对象装填组件使用一区间列表来通过追踪边界区域内的区间来保持对可用空间的追踪。区间能产生在横向上相邻放置的对象和/ 或能靠近一被放置的对象的底边。在一个或多个实施例中,区间列表以从左到右、从上到下排序。在至少一些实施例中,二维对象装填组件能够使用附加特征来改善用户体验。作为示例而非限定,这些附加特征包括预估特征、对象大小调整特征、下拉特征、对象位置重分布特征、用于上下文敏感的裁剪的面部识别特征、视频特征、和/或阈值容限及结果测量特征。在以下讨论中,提供了题为“操作环境”的章节,该章节描述其中可采用一个或多个实施例的一个环境。接着,题为“示例二维对象装填”的章节描述了根据一个或多个实施例如何能将二维对象装填在边界区域中。接着,题为“示例方法”的章节描述了根据一个或多个实施例的示例方法。此后,题为“预估”的章节描述了根据一个或多个实施例的示例特征。接着,题为“对象大小调整”的章节描述了根据一个或多个实施例的示例特征。此后, 题为“下拉”的章节描述了根据一个或多个实施例的示例特征。接着,题为“对象位置重分布”的章节描述了根据一个或多个实施例的示例特征。此后,题为“用于上下文敏感的裁剪的面部识别”的章节描述了根据一个或多个实施例的示例特征。接着,题为“视频”的章节描述了根据一个或多个实施例的示例特征。此后,题为“阈值容限及结果测量”的章节描述了根据一个或多个实施例的示例特征。最后,题为“示例系统”的章节描述了可用于实现一个或多个实施例的示例系统。操作环境图1在100处概括示出了根据一个或多个实施例的操作环境。环境100包括计算设备102,计算设备102具有一个或多个处理器104、一个或多个计算机可读存储介质106 和驻留在计算机可读存储介质上并可由处理器执行的一个或多个应用程序108。计算机可读存储介质可包括,作为示例而非限制,通常与计算设备相关联的所有形式的易失性和非易失性存储器和/或存储介质。这种介质可包括ROM、RAM、闪存、硬盘、可移动介质等。计算设备的一个具体示例以下在图6中示出并描述。此外,计算设备102包括软件应用110,其包括二维对象装填组件111。应用110 能包含处理诸如二维光栅图像之类的二维可视元素或对象的任何合适类型的应用。另选地或另外地,二维对象装填组件111可以是由其它组件和/或应用所使用的独立组件。另外,环境100包括诸如因特网等网络112,以及可从中接收和向其发送内容的一个或多个web服务器114,如上文及下文中所描述的。该内容可以包括包含如上文及下文中所描述的二维可视对象的内容。
计算设备102可被具体化为任何合适的计算设备,诸如作为示例而非限制,台式计算机,便携式计算机,诸如个人数字助理(PDA)、蜂窝电话等手持式计算机,等等。描述了示例操作环境之后,现在考虑可利用如上文及下文中所描述的二维对象装填的一些示例实施例的讨论。示例二维对象装填图2在200处概括地示出根据一个或多个实施例的示例二维对象装填操作。装填操作可通过合适地配置的二维对象装填组件来实现,诸如上文所述的。在将要描述的操作中,在20h-g示出各不同装填状态下的一个边界区域。最初,获取将要被装填到该边界区域中的对象的列表。对象的列表能从任何适当的一个或多个源获取。例如,能通过诸如因特网之类的网络来获取一个或多个对象。另选地或另外地,可从诸如本地计算设备之类的本地源获取一个或多个对象。此外,作为示例而非限定,对象可包括诸如二维光栅图像之类的任何适当类型的二维对象。此外,对象的列表可包括排序的对象列表,使得尝试将对象以与对象出现在列表上的顺序相同的顺序将对象装填到边界区域内。在示出和描述的实施例中,尝试以从左到右以及从上到下移动的方式将个体对象装填到边界区域内。然而,应当认识和理解,可以利用任何适当的装填顺序或方向而不背离所要求保护的主题的精神和范围。在示出和描述的实施例中,边界区域内的可用空间被追踪。可采用任何适当的方法或结构来追踪边界区域内的可用空间。在一个或多个实施例中,采用区间列表形式的列表来追踪可用空间。区间能产生在横向上相邻放置的对象和/或能靠近一被放置的对象的底边。在一个或多个实施例中,区间列表以从左到右、从上到下排序。在示出的示例中,区间被表示如下“ ====η ==== ”,其中“η”是表示区间列表中的特定区间的索引的变量。在一个或多个实施例中,最初,边界区域20 是空的并且不包括任何对象。如示出的,一个被指定为“1”的区间延伸横跨边界区域20 的顶部。然而,可选地,边界区域可包括一个或多个保留区域,这导致边界区域中的多个初始区间。保留区域可被用于诸如标题或将被放置在良好定义的位置处的其它与用户界面相关的框架(chrome)之类的东西。将被放置在边界区域内的第一对象204被获取并被放置为如边界区域202b中所示。当第一对象204被插入时,第一区间如所示的被截短,并且沿第一对象204的底边创建新的、指定为“2”的第二区间。只要在第一区间内有可用空间,这一过程就继续。具体来说,将要被放置在边界区域内的下一对象被获取并与第一对象204相邻放置。在示出及描述的示例中,第二对象206已在边界区域202c中与第一对象204相邻放置。 结果,第一区间如所示的被截短,并且沿第二对象206的底边创建新的、指定为“3”的第三区间。接着,第三对象208与第二对象206相邻放置,由此进一步截短了第一区间。还要注意的是,区间列表中的区间顺序被重新定义。具体来说,由于第三对象208的纵向延伸与第一对象204的纵向延伸相同,在从左到右、从上到下的区间列表排序中,沿第三对象208的底边创建的区间现在变为第三区间。第二对象206的底边现在变为第四区间,如以“4”标记的。出于连续性考虑,边界区域202d在示出的第二行中被重复。假设在这一示例中,
6将要被放置在边界区域中的下一对象是对象210。如果像此处一样,在第一区间中没有剩余的空间,则第一区间被下拉并与边界区域202d中被指定为“2”的下一相邻区间合并。这留下了一个被称为空块的空的空间。在边界区域20 中的212,指定了一示例空块。此外, 来自边界区域202d的各区间在边界区域20 中被重新排序,从而保持从左到右、从上到下的区间列表顺序。现在,对象210被尝试放置到边界区域20 中的第一区间内。由于对象 210不能被放置在边界区域20 中的第一区间内,第一区间与边界区域20 中指定为“2” 的下一相邻区间合并。这留下了由空块占据的又一空的空间。具体来说,边界区域202f示出了占据来自边界区域20 的第一区间的空块214。 还需要注意的是,区间顺序已经被重新定义。现在,对象210被尝试放置到边界区域202f 中的新定义的第一区间内。如在边界区域202g中所示,对象210适合第一区间,并且相对应地,使得第一区间被截短。还需要注意的是,邻近对象210的底边创建了第三区间。上述的过程继续,直到所有的对象已经被放置到边界区域中,或者直到第一区间的y位置大于边界区域的高度,这意味着再也没有更多的对象能适合边界区域。示例方法图3是描述根据一个或多个实施例的方法中的各步骤的流程图。该方法可以结合任何合适的硬件、软件、固件或其组合来实现。作为示例而非限制,在至少一些实施例中,该方法可以通过诸如结合图1所描述的二维对象装填组件之类的软件来实现。步骤300获取将要被放置到边界区域内的对象的排序列表。对象可以从任何合适的位置获取,其示例如上提供。此外,可采用任何适当的尺寸的边界区域。作为示例而非限制,在至少一些实施例中,边界区域可包括诸如矩形边界区域之类的直线的边界区域。步骤 302定义一个第一区间。如何这样做的一个示例在上文中提供。步骤304将第一对象放置在第一区间内。步骤306响应于第一区间中对象的放置调整第一区间。步骤308查明是否有将要被放置在边界区域内的附加对象。如果没有附加对象要被放置,步骤310结束该方法。另一方面,如果还有附加对象要被放置,步骤312查明那些对象的放置是否会伸出边界区域的底部。如果放置一个或多个附加对象将伸出边界区域的底部,则步骤310结束该方法。如果不会,则步骤314获取将要被放置到边界区域内的下一对象。步骤316查明该下一对象是否适合当前区间。如果该下一对象适合当前区间,则步骤318将该对象放置在当前区间内并且步骤320调整区间。作为示例而非限制,调整区间可包括对一个或多个区间调整大小,重新对一个或多个区间进行编号,或两者。方法随后返回到步骤308以查明是否还有附加对象要被放置到边界区域内。另一方面,如果将要被放置到边界区域内的下一对象不适合当前区间(步骤316 中的“否”分支),则步骤322创建对应于当前区间的剩余区间部分的空的空间,并调整一个或多个区间。这可包括对区间重新编号以维持从左到右、从上到下的区间排序。步骤3 尝试将对象放置到下一区间内。步骤3 查明该对象是否适合下一(或现在、当前)区间。如果否,则该方法返回步骤322。可以理解和明白的,步骤322/3 可包括查明对象相对于下一区间的放置是否会伸出边界区域的底部。如果是,则方法可结束。 另一方面,如果步骤3 查明对象能够适合当前区间,则方法分支到步骤318并将该对象放置到当前区间内。方法随后继续,直到所有对象被放置到边界区域内或者放置特定对象将会伸出边界区域的底部。预估在上述示例中,将要被放置在边界区域内的对象被定义在排序列表中。在至少一些实施例中,维持像排序列表中所定义的一样的对象顺序可能是期望的。然而,在至少一些实施例中,对象在边界区域内的放置可以是以与排序列表中所定义的相违背的顺序进行的。例如,假设排序列表中的对象是出现在联系人列表中的个人的光栅图像。排序列表可定义一个就与联系人的重要性或相关性相关联的某些参数而言所期望的联系人顺序。然而, 为了放置在边界区域内,改变出现这排序列表中的对象的顺序仍然可提供可接受的或者期望的用户体验。在至少一些实施例中,如果特定对象不能适合当前区间,可采用一预估参数来搜索列表中能够适合当前区间的对象。预估参数可定义列表中将被考虑的下几个对象,例如, 下三个或四个对象。对象大小调整在至少一些实施例中,尽可能的维持被放置在边界区域内的对象的尺寸可能是期望的。然而,在一些情况下,为了使对象能够被放置在边界区域内的特定区间内或者为了更有效地占用边界区域,对象可以被调整大小。例如,对象可能比区间中的剩余空间略大。在这些情况下,对象的大小可以被减小以适合区间中的剩余空间。另选地或另外地,对象在特定区间内的放置可留下邻近该对象的大的空的空间。在这一情况下,对象可以在尺寸上被扩展以更有效地占用区间中的剩余空间,从而减少空的空间。下拉在至少一些实施例中,将对象放置在区间内的方法的一个副作用是沿着边界区域的上沿的最初的对象易于定义一组栏,其余的对象会被放置在这些栏中。这具有非期望的影响,即使得所得到的对象拼贴看上去是非随机的并且使得更难以将各种不同对象的大小适配到那些栏中。为了应对这一情况,可采用一下拉参数来使得当某些条件被满足时区间能够被合并。例如,一个条件可以是区间在χ坐标上相互毗邻并且在y坐标上相互接近。接近度可以采用任何合适的方法来确定。例如,接近度可被确定为对象的大小的比例。作为示例,考虑图4。其中,边界区域400(最左边的示例)包含被放置在其中的两个对象——对象402、404。注意到这些对象的放置定义了两个区间。这些区间在χ坐标上相互毗邻并且在y坐标上相互接近。在最右边的边界区域400的示例中,这些区间已被合并并且空的空间406已被插入到原始的第一区间中。对象位置重分布在至少一些实施例中,对象的位置可以被重新分布以在边界区域内更均勻地、可视地分布空的空间。作为示例,考虑图5。其中,边界区域500被示出并包含已被放置在其中并以交叉阴影线对象所示的多个不同对象。注意部分502,其中存在一个对象和一个空的空间。在这一示例中,该对象出现在该空的空间上方。在至少一些实施例中,软件代码可检测到在χ或y方向邻接有一空的空间。在一些情况下,软件代码可随后将该对象重新定位到该空的空间中或者相对于该空的空间重新定位,使得更均勻地将空的空间沿着对象的两侧分布。作为一个示例,考虑最右边的边界区域500。其中,部分502内的相应对象已被垂
8直向下移动,使得空的空间同时出现在对象的上方和下方。用于上下文敏感的裁剪的面部识别在至少一些实施例中,被放置在边界区域内的诸如图像之类的对象将包含一个或多个面部。在一些情况下,可能期望如通过缩减尺寸之类对对象进行大小调整以使其适合边界区域。在这些情况下,可能期望维持出现在对象或图像中的一个或多个面部的完整性。 为此,可采用各种面部识别技术来识别图像内的一个或多个面部,使得对象可被调整大小以保留一个或多个面部的完整性。例如,如果图像将被裁剪,一旦面部被标识,则可以围绕该面部来剪裁图像,使得当该图像被放置在边界区域内时,该面部将会看上去完整。如本领域技术人员所理解和明白的,可采用任何合适的面部识别技术。视频在一些示例中,可能期望将诸如缩略图之类的与视频对象相关联的伪像放置在边界区域中。在这些情况下,可采用任何合适的方法来从视频对象捕捉缩略图并如上所述地将该缩略图并入边界区域中。阈值容限及结果测量在一些情形中,可以存在能够以不同顺序和大小、以优先顺序、以空的空间的不同分布、和/或以不同程度的应用规则在边界区域中对对象进行布局的多个布局方案。例如, 裁剪规则可具有裁剪在百分之一至不超过百分之五之间的可调的参数。这些不同的布局方案的每一个可具有与之相关联的结果测量。结果测量可以是对任何一个特定的布局方案的期望度的测量。例如,对于一个具体的边界区域,特定的一个对象集合可以有10个不同的布局方案。这些布局方案可能具有从“1”到“10”的结果测量,其中“1”是最期望的。在这一情况下,可以设定一阈值来滤除低于所期望的那些布局方案。例如,任何具有大于“3” 的结果测量的布局方案被滤除。如果仅有的一个布局方案具有低于“3”的结果测量,例如 “1 “,则该布局方案被选择。当不止一个布局方案满足该阈值时,可采用其它方法。可以被理解和明白的是,当将对象放置到边界区域内时,可采以上所描述的方法中的任意和/或全部。例如,一种对象放置方法可与基于区间的方法相结合地采用预估和对象大小调整特征。又一对象放置方法可与基于区间的方法相结合地采用对象大小调整、 下拉以及对象位置重分布特征。不用说,可采用这些特征的任何合适的组合而不违背本发明的精神和范围。示例系统图6示出可用来实现上述各实施例的示例计算设备600。计算设备600可以是例如图1的计算设备102或web服务器114。计算设备600包括一个或多个处理器或处理单元602、一个或多个存储器和/或存储组件604、一个或多个输入/输出(I/O)设备606、以及允许各组件和设备彼此通信的总线608。总线608表示若干类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各种总线体系结构中的任何一种的处理器或局部总线。总线608可包括有线和/或无线总线。存储器/存储组件604表示一个或多个计算机存储介质。组件604可包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等等)。组件604可包括固定介质(例如,RAM、R0M、固定硬盘驱动器等等)以及可移动介质(例如,闪存驱动器、可移动硬盘驱动器、光盘等等)。一个或多个输入/输出设备606允许用户向计算设备600输入命令和信息,并且还允许向用户和/或其他组件或设备呈现信息。输入设备的示例包括键盘、光标控制设备 (例如,鼠标)、话筒、扫描仪等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、 扬声器、打印机、网卡等等。此处可以在软件或程序模块的一般上下文中描述各种技术。一般而言,软件包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。这些模块和技术的实现可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质传输。计算机可读介质可以是可以被计算设备访问的任何可用介质。作为示例而非限制, 计算机可读介质可以包括“计算机可读存储介质”。“计算机可读存储介质”包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机可读存储介质包括但不限于,RAM、R0M、EEPR0M、闪存或其他存储器技术、CD-ROM、 数字多功能盘(DVD)或其他光盘存储、盒式磁带、磁带、磁盘存储或其他磁存储设备,或者可用于存储所需信息并可由计算机访问的任何其他介质。结论各实施例使得诸如二维光栅图像之类的可视元素或对象能够以减少被浪费的空间的方式被装填到诸如矩形边界区域之类的边界区域中。在至少一些实施例中,二维对象装填组件尝试将个体对象适配到边界区域中。二维对象装填组件使用一区间列表来通过追踪边界区域内的区间来保持对可用空间的追踪。区间能表现为在横向上毗邻被放置对象和 /或邻接被放置对象的底边。在一个或多个实施例中,区间列表以从左到右、从上到下排序。尽管用结构特征和/或方法动作专用的语言描述了本主题,但是可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种计算机实现的方法,其特征在于,包括获取(300)将要被放置到边界区域内的对象的排序列表; 定义(30 所述边界区域内的第一区间;将来自所述对象的排序列表中的第一对象放置(304)在所述第一区间内; 响应于放置所述第一对象调整(306)所述第一区间; 获取(314)将要被放置到所述边界区域内的下一对象;如果所述下一对象适合所述第一区间,则将所述下一对象放置(318)在所述第一区间中,否则创建(322)空的空间,并尝试(324)将所述下一对象放置到下一区间内。
2.如权利要求1所述的计算机实现的方法,其特征在于,还包括如果所述下一对象不适合所述下一区间,则创建对应于所述下一区间的空的空间。
3.如权利要求1所述的计算机实现的方法,其特征在于,还包括维持包括多个区间的区间列表,并且其中调整所述第一区间包括对第一区间进行大小调整或对所述区间列表中的区间进行重新编号中的一个或多个。
4.如权利要求1所述的计算机实现的方法,其特征在于,还包括维持包括多个区间的区间列表,并且其中调整所述第一区间包括对第一区间进行大小调整或对所述区间列表中的区间重新编号中的一个或多个,并且其中对区间重新编号包括对区间重新编号以维持从左到右、从上到下的区间排序。
5.如权利要求1所述的计算机实现的方法,其特征在于,还包括使用区间列表来尝试将附加对象放置在所述边界区域中直到所述排序列表上的所有对象被放置在所述边界区域中或放置特定对象将伸出所述边界区域的底部。
6.如权利要求1所述的计算机实现的方法,其特征在于,所述对象包括二维光栅图像。
7.一个或多个包含二维对象装填组件(111)的计算机可读存储介质(106),所述二维对象装填组件被配置以使用包含边界区间O02a)内、以从左到右、从上到下的顺序来排列的区间的列表的区间列表以将对象(204)放置在边界区域内,其中在对象放置期间,所述区间被定义为在横向上毗邻至少某些被放置的对象(204)并且与至少一些其它对象的底部边沿邻接; 以及执行以下的至少之一以尝试将对象(204)放置在所述边界区域内 当出现在排序列表中的对象不适合区间的情况下,在所述排序列表中预估以尝试找到适合所述区间的对象;对将要被放置在所述边界区域内的对象进行大小调整; 当满足至少一个条件时合并多个区间;对对象进行重新分布以更均勻地、可视地在所述边界区域内分布空的空间; 使用面部识别技术来识别对象内的面部,使得对对象进行大小调整将保留所述面部的完整性;使用来自视频对象的缩略图以并入所述面部区域;或使用与布局方案相关联的结果测量,以选择用于将对象布置在所述布局区域内的布局方案。
8.如权利要求7所述的一个或多个计算机可读存储介质,其特征在于,所述预估包括使用预估参数来定义所述排序列表中将被考虑的下几个对象。
9.如权利要求7所述的一个或多个计算机可读存储介质,其特征在于,所述对对象进行调整大小包括缩减对象的大小。
10.如权利要求7所述的一个或多个计算机可读存储介质,其特征在于,所述至少一个条件是将要合并的两个区间在χ坐标上相互毗邻。
11.如权利要求7所述的一个或多个计算机可读存储介质,其特征在于,所述至少一个条件是将要合并的两个区间在χ坐标上相互毗邻,并且其中所述至少一个条件进一步是所述两个区间在ι坐标上相互接近。
12.如权利要求7所述的一个或多个计算机可读存储介质,其特征在于,所述对象包括二维光栅图像。
13.如权利要求7所述的一个或多个计算机可读存储介质,其特征在于,所述二维对象装填组件被配置以在对象不能适合区间部分的情况下创建对应于所述区间部分的空的空间。
14.如权利要求7所述的一个或多个计算机可读存储介质,其特征在于,所述二维对象装填组件被配置以通过对所述区间列表中的区间重新编号来维持从左到右、从上到下的区间排序来维持所述区间列表。
15.—个或多个包括计算机可读指令的计算机可读存储介质,所述指令在被执行时实现一种方法,所述方法包括获取(300)将要被放置到边界区域内的对象的排序列表;定义(30 所述边界区域内的第一区间;将来自所述对象的排序列表中的第一对象放置(304)在所述第一区间内;响应于放置第一对象调整(306)所述第一区间;获取(314)将要被放置到所述边界区域内的下一对象;如果所述下一对象将适合所述第一区间,则将所述下一对象放置(318)在所述第一区间中,否则创建(322)空的空间,并尝试将所述下一对象放置到下一区间内。
全文摘要
本发明涉及二维对象装填。各实施例使得诸如二维光栅图像之类的可视元素或对象能够以减少被浪费的空间的方式被装填到诸如矩形边界区域之类的边界区域中。在至少一些实施例中,二维对象装填组件尝试将个体对象适配到边界区域中。二维对象装填组件使用一区间列表来通过追踪边界区域内的区间来保持对可用空间的追踪。区间能产生在横向上相邻放置的对象和/或能靠近一被放置的对象的底边。在一个或多个实施例中,区间列表以从左到右、从上到下排序。
文档编号G06T11/40GK102446362SQ201110266360
公开日2012年5月9日 申请日期2011年8月30日 优先权日2010年8月31日
发明者A·R·拉夫曼, J·S·施赖纳 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1