安置在可移动表面上的对象的模型数据的制作方法

文档序号:12512432阅读:162来源:国知局
许多计算系统包括至少一个显示器和诸如鼠标、键盘、触摸板等的至少一个输入设备。许多计算系统还连接到本地网络或诸如因特网之类的全球网络,从而允许用户关于设计、开发和其他类型的项目进行通信和合作。附图说明以下详细描述参考附图,其中:图1是示例计算系统的示意性透视图;图2是图1的示例计算系统的另一示意性透视图;图3是图1的示例计算系统的示意性侧视图;图4是图1的示例计算系统的示意性前视图;图5是图1的示例计算系统在示例操作期间的示意性侧视图;图6是图1的示例计算系统在另一示例操作期间的示意性前视图;图7是图1的计算系统的一部分的示例的框图;图8A示出了通过网络进行通信的两个计算系统的示例;图8B示出了通过网络进行通信的两个计算系统的另一示例;图8C示出了通过网络进行通信的两个计算系统的又一示例;图9是图8A-图8C的计算系统之一的示例部分的框图;以及图10是根据本文描述的一些实施的示例方法的流程图。具体实施方式这里描述的示例可以允许通过网络通信地连接的计算系统的用户关于诸如涉及设计要应用于三维对象的图像的项目之类的项目进行合作。本文描述的示例可以包括计算系统,该计算系统可以包括可移动表面和用于获取三维模型数据的模型获取引擎,该三维模型数据表示安置在该可移动表面上的第一对象。该计算系统还可以包括通信引擎,以向另一计算系统发送该模型数据并且从其他计算系统接收与该模型数据相关联的操纵数据。该计算系统还可以包括移动与投影引擎,以根据所接收的操纵数据移动可移动表面。现在参考附图,图1-图6是示例计算系统100的示意图。在图1-图6的示例中,系统100可以包括支撑结构110、计算设备150、投影仪配件184和表面200。系统100还可以包括可移动表面210,在一些示例中,可以将可移动表面210安置在表面200上,并且可以将可移动表面210通信地连接(例如,电耦合)到计算设备150。系统100还可以包括传感器束164,以捕捉表示安置在可移动表面210顶部上的对象的图像。如下所述,计算设备150可以包括模型获取引擎170、通信引擎172以及移动与投影引擎174。计算设备150可以包括符合这里公开的原理的任何合适的计算设备。如本文所使用的,“计算设备”可以包括电子显示设备、智能电话、平板计算机、芯片组、一体化计算机(例如,包括也容纳计算机的(一个或多个)处理资源的显示设备的设备)、台式计算机、笔记本计算机、工作站、服务器、任何其他处理设备或装备或其组合。在该示例中,设备150是一体式计算机,其具有中心轴或中心线155、第一侧或顶部侧150A、与顶部侧150A轴向相对的第二侧或底部侧150B、在侧150A和150B之间轴向延伸的前侧150C、也在侧150A和150B之间轴向延伸并且与前侧150C大致径向相对的后侧150D。沿着前侧150C安置显示器152,并且显示器152限定计算系统100的观看表面以显示图像来供系统100的用户观看。在本文描述的示例中,显示器可以包括适于显示图像、视频等的任何技术的组件。在一些示例中,显示器152可以是触敏显示器。在本文所描述的示例中,触敏显示器可以包括例如用于显示图像、视频等的任何合适的技术(例如,组件),并且可以包括用于检测物理接触(例如,触摸输入)的任何合适的技术(例如,组件),诸如例如电阻性、电容性、表面声波、红外(IR)、应变仪、光学成像、声脉冲识别、色散(dispersive)信号感测,或单元内(in-cell)系统等。在本文所描述的示例中,可以将显示器152称为触敏显示器152。设备150还可以包括照相机154,其例如可以是web照相机。在一些示例中,照相机154可以捕捉位于显示器152前面的用户的图像。在一些示例中,设备150还可以包括麦克风或其他设备以接收声音输入(例如,来自用户的语音输入)。在图1-图6的示例中,支撑结构110包括基座120、直立构件140和顶部160。基座120包括第一端或前端120A以及第二端或后端120B。基座120可与支撑表面15相接合以支撑系统100的组件的至少一部分(例如,构件140、单元180、设备150、顶部160等)的重量。在一些示例中,当将系统100配置用于操作时,基座120可以以该方式与支撑表面15相接合。在图1-图6的示例中,例如,基座120的前端120A包括凸起(raised)部分122,当如图2中所示将基座120安置在支撑表面15上时,可将凸起部分122安置在支撑表面15上方并与支撑表面15分离(在部分122和表面15之间创建空间或间隙)。在这样的示例中,可以将表面200的一侧的一部分安置在部分122和表面15之间形成的空间内(例如,容纳在其中)。在这种示例中,将表面200的一部分放置在由部分122和表面15创建的空间内可以辅助表面200的适当对准。在其他示例中,可以使用其他合适的方法或设备来辅助表面200的对准。直立构件140包括第一端或上端140A、与上端140A相对的第二端或下端140B、在端140A和端140B之间延伸的第一侧或前侧140C以及与前侧140C相对并且也在端140A和140B之间延伸的第二侧或后侧140D。构件140的下端140B耦合到基座120的后端120B,使得构件140从支撑表面15基本上向上延伸。顶部160包括第一端或近端160A、与近端160A相对的第二端或远端160B、在端160A和端160B之间延伸的顶部表面160C以及与顶部表面160C相对并且也在端160A和160B之间延伸的底部表面160D。顶部160的近端160A耦合到直立构件140的上端140A,使得远端160B从直立构件140的上端140A向外延伸。这样,在图2中所示的示例中,在端160A(并且不是端160B)处支撑顶部160,并且在本文中可将顶部160称为悬臂(cantilevered)顶部。在一些示例中,可以单体地(monolithically)形成基座120、构件140和顶部160。在其他示例中,基座120、构件140和顶部160中的两个或更多可以由单独的部件形成(即,不是单体地形成)。表面200可以包括中心轴或中心线205、第一侧或前侧200A以及与前侧200A轴向相对的第二侧或后侧200B。在一些示例中,表面200可以是触敏表面,并且可以包括用于检测作为触摸输入的与表面200的物理接触的任何合适的技术。例如,表面200可以包括任何合适的技术,以用于检测(并且在一些示例中用于跟踪)用户的一个或多个触摸输入,以使得用户能够经由这类触摸输入与由设备150或另一计算设备执行的软件进行交互。在本文描述的示例中,表面200可以是任何合适的触敏平面(或基本上平面的)对象,诸如触敏垫、触敏桌面、触敏片等。在一些示例中,可水平地(或者近似或基本上水平地)安置表面200。例如,可将表面200安置在支撑表面15上,支撑表面15可以是水平的(或者近似或基本上水平的)。如上所述,表面200可以与结构110的基座120对准,以辅助表面200的适当对准(例如,至少在系统100的操作期间)。在图1-图6的示例中,可以将表面200的后侧200B安置在基座120的凸起部分122和支撑表面15之间,使得后端200B与基座120的前侧120A对准,以辅助表面200与系统100的其他组件的适当整体对准(并且特别是可移动表面210的适当对准)。在一些示例中,表面200可以与设备150对准,使得设备150的中心线155与表面200的中心线205基本上对准。在其他示例中,表面200可以与设备150不同地对准。在一些示例中,表面200和设备150可以彼此通信地连接(例如,电耦合),使得可以将表面200所接收的用户输入传送到设备150。经由任何合适的有线或无线通信技术或机制,诸如例如WI-FI、蓝牙、超声技术、电缆、电引线、电导体、具有磁性保持力的电弹簧加载的弹簧针(pogopin)等或其组合,表面200和设备150可以彼此通信。在图1-图6的示例中,安置在表面200的后侧200B上的暴露的电接触可以与基座120的部分122内的相应电弹簧针引脚相接合,以在系统100的操作期间在设备150和表面200之间传递信息(例如,传送信号)。在这样的示例中,电接触可以通过相邻的磁体(位于基座120的部分122和表面15之间的间隙中)保持在一起,以磁性地吸引和保持(例如,机械地)沿表面200的后侧200B安置的相应的铁和/或磁性材料。可移动表面210可以是可以响应于电信号或无线信号而移动(例如,旋转、枢转、移位等)的任何类型的表面。例如,在一些实施中,可移动表面210可以是可以绕顺时针和/或逆时针旋转的中心轴可旋转的转台(turntable)。例如,如图3中所示,可移动表面210可以包括圆形固定底部210B和圆形可移动顶部210A。在一些示例中,部分210A和210B是同心的,并且部分210A可以相对于部分210B移动(例如,绕中心轴旋转)。如上所述,可移动表面210和计算设备150可以通信地连接,并且可移动表面210可以从计算设备150接收信号。在一些示例中,可移动表面210可以通过电缆连接到计算设备150并从计算设备150接收信号。在其他示例中,可移动表面210可以包括无线接收器或收发器,以使用例如WI-FI、蓝牙、红外或任何其他合适的技术来与计算设备150无线通信并从计算设备150接收信号。在一些示例中,可移动表面210可以包括可以由计算设备150控制的电机(为了简洁而未示出)。例如,可以将可移动表面210配置成从计算设备150接收信号,并且基于该信号顺时针或逆时针旋转固定角度或度数。在一些示例中,如下所述,可以将对象40放置或安置在可移动表面210上,在这种情况下,对象40可以与可移动表面210(例如,与可移动顶部210A一起)一起移动(例如旋转)。因此,在一些示例中,通过向可移动表面210发送相应的信号并且使得可移动表面移动(例如,旋转),计算设备150可以引起对象40的移动(例如,旋转)。例如,对象40可以是马克杯、智能电话、书、文档、照片或任何其他物理对象。如图1-图6所示,可以将可移动表面210安置在表面200上。在一些示例中,可移动表面210(例如,固定底部210B)可以在固定位置处耦合到(例如,永久地或半永久地附接到)表面200,比如表面200的中心,或者沿着中心线205的在表面200上的任何地方。在其他示例中,可移动表面210可以不附接到表面200,并且可以是可自由移除的和可移位(例如,由用户)到表面200上的任何位置。在其他示例中,系统100可以不包括表面200,并且可移动表面210可以位于支撑表面15上的任何地方,其中可移动表面210可以由投影仪单元180投影到其上。参考图3,投影仪单元180包括外壳体182和安置在壳体182内的投影仪配件184。壳体182包括第一端或上端182A、与上端182A相对的第二端或下端182B以及内腔体183。在图3的示例中,壳体182还包括耦合或安装构件186以与支撑设备150相接合(例如,至少在系统100的操作期间)。构件186可以是用于悬挂和支撑如本文所描述的任何合适的计算设备150的任何合适的机构或设备。例如,构件186可以包括铰链,该铰链包括旋转轴,使得设备150可以关于该旋转轴(例如,由用户)旋转,以获得用于观看显示器152的期望角度。在一些示例中,可以将设备150永久或半永久地附接到单元180的壳体182。在一些示例中,壳体180和设备150可以整体地或单体地形成为单个单元。参考图4,在一些示例中,当设备150经由壳体182上的安装构件186从结构110悬挂时,当从前面观看系统100(即,基本上面向安置在设备150的前侧150C上的显示器152)时,投影仪单元180(即,壳体182和配件184两者)可以基本上藏在设备150后面。另外,如图4中所示,当设备150如上所述那样从结构110悬挂时,投影仪单元180(即,壳体182和配件184两者)和由此投影的任何图像可以相对于设备150的中心线155和/相对于可移动表面210的中心基本上对准或居中。再次参考图3,投影仪配件184安置在壳体182的腔体183内,并且包括第一端或上端184A、与上端184A相对的第二端或下端184B。上端184A靠近壳体182的上端182A,而下端184B靠近壳体182的下端182B。投影仪配件184可以包括用于从计算设备(例如,设备150)接收数据并且投影与该输入数据相对应的(一个或多个)图像(例如,从上端184A出来)的任何合适的数字光投影仪配件。例如,在一些实施中,投影仪配件184可以包括数字光处理(DLP)投影仪或硅基液晶(LCoS)投影仪,其有利地是能够具有多种显示分辨率和大小的紧凑且功率高效的投影引擎,多种显示分辨率和大小诸如例如具有4∶3纵横比的标准XGA分辨率(1024×768像素)或具有16∶10纵横比的标准WXGA分辨率(1280×800像素)。投影仪配件184进一步通信地连接(例如,电耦合)到设备150,以便从设备150接收数据并且基于接收到的数据从端部184A产生(例如投影)光和(一个或多个)图像。例如经由任何合适类型的电耦合或本文所描述的任何其他合适的通信技术或机制,投影仪配件184可以通信地连接到设备150。在一些示例中,配件184可以经由(一个或多个)电导体、WI-FI、蓝牙、光连接、超声连接或其组合通信地连接到设备150。在图1-图6的示例中,设备150通过安置在安装构件186内的电引线或导体(例如,如上面关于表面200和基座120所述的)通信地连接到配件184,使得当设备150通过构件186从结构110悬挂时,安置在构件186内的电引线与安置在设备150上的对应引线或导体相接触。仍然参考图3,顶部160还包括折叠镜162和传感器束164。镜162包括高反射表面162A,其沿着顶部160的底部表面160D安置并且定位成在操作期间朝向表面200反射从投影仪配件184的上端184A投射的光、(一个或多个)图像等。镜162可以包括任何合适类型的镜或反射表面。在图1-图6的示例中,折叠镜162可以包括标准的前表面真空金属化镀铝玻璃镜,其用于将从配件184发射的光折向下到可移动表面210和表面200。在其他示例中,镜162可以具有复杂的非球面曲率,以充当反射透镜元件来提供附加的聚焦能力或光学校正。传感器束164包括至少一个传感器(例如,照相机或其他类型的传感器),以基于传感器束164和可移动表面210之间的区域的状态(例如,区域中发生的活动)来检测、测量或以其他方式获取数据。传感器束164和可移动表面210之间的区域的状态可以包括可移动表面210上和/或上方的(一个或多个)对象,或者可移动表面210上和/或附近发生的活动。在图3的示例中,束164包括RGB照相机(或图像传感器)164A、IR照相机(或IR传感器)164B、深度照相机(或深度传感器)164C和环境光传感器164D。在本文所述的示例中,照相机可以被称为“传感器”。在一些示例中,RGB照相机164A可以是捕捉彩色图像(例如,静止图像和视频中的至少一个)的照相机。在一些示例中,RGB照相机164A可以是根据RGB颜色模型捕捉图像的照相机,其在本文中可被称为“RGB图像”。然而,应当理解,在其他示例中,RGB照相机164A可以是根据诸如YUV、YCbCr、RAW等的其他颜色模型捕捉图像的照相机。在一些示例中,RGB照相机164A可以捕捉具有相对高的分辨率的图像,相对高的分辨率诸如例如大约数百万像素(MP)的分辨率。作为示例,RGB照相机164A可以捕捉具有14MP的分辨率的彩色(例如,RGB)图像。在其他示例中,RBG照相机164A可以捕捉具有不同分辨率的图像。在一些示例中,RGB照相机164A可以指向可移动表面210,并且可以捕捉可移动表面210的(一个或多个)图像、安置在可移动表面210上的(一个或多个)对象或其组合。IR照相机164B可以是检测照相机164B的视野中的多个点处的IR光的强度的照相机。在本文描述的示例中,IR照相机164B可以与系统100的IR光投影仪166(参见图7A)结合操作以捕捉IR图像。在这种示例中,每个IR图像可以包括多个像素,每个像素表示在由该像素表示的点处检测到的IR光的强度。在一些示例中,系统100的顶部160可以包括用于朝向可移动表面210和表面200投射IR光167的IR光投影仪166(参见图7A),并且IR照相机164B可以指向可移动表面210和表面200。在这样的示例中,IR照相机164B可以检测由可移动表面210、表面200、安置在可移动表面210上的(一个或多个)对象或其组合反射的IR光的强度。在一些示例中,IR照相机164B可排他地检测由IR光投影仪166投射(例如,从可移动表面210、(一个或多个)对象等反射的,或直接接收)的IR光167。深度照相机164C可以是用于检测深度照相机164C的视野中的(一个或多个)对象的部分的相应的(一个或多个)距离(或(一个或多个)深度)的照相机((一个或多个)传感器等)。如本文所使用的,由深度照相机检测的数据在本文中可被称为“距离”或“深度”数据。在本文所描述的示例中,深度照相机164C可以捕捉多像素深度图像(例如,深度图),其中每个像素的数据表示对象的一部分在由像素表示的点处的(从照相机164C测量的)距离或深度。深度照相机164C可以使用任何合适的技术来实施,诸如(一个或多个)立体视觉照相机、具有IR光的均匀泛射(flood)的单个IR照相机传感器、具有IR光的均匀泛射的双IR照相机传感器、结构化光深度传感器技术、飞行时间(TOF)深度传感器技术或其组合。在一些示例中,深度传感器164C可以指示对象(例如,三维对象)何时在可移动表面210上。在一些示例中,深度传感器164C可以检测放置在可移动表面210上的对象(或其部分)的存在、形状、轮廓、运动和相应的(一个或多个)距离中的至少一个。环境光传感器164D可以被布置为测量系统100周围的环境中的光的强度。在一些示例中,系统100可以使用传感器164D的测量来调整系统100的其他组件,诸如例如系统100的传感器或照相机(例如,照相机164A-164C)的曝光设置、从系统100的光源(例如,投影仪配件184、显示器152等)发射的光的强度等。在一些示例中,传感器束164可以省略传感器164A-164D中的至少一个。在其他示例中,除了传感器164A-164D之外,或者代替传感器164A-164D中的至少一个,传感器束164可以包括(一个或多个)其他照相机、(一个或多个)传感器等。例如,传感器束164可以包括用户界面传感器,用户界面传感器包括用于跟踪用户输入设备的(一个或多个)任何合适的设备(例如,(一个或多个)传感器、(一个或多个)照相机),用户输入设备诸如例如手、触笔、指点设备等。在一些示例中,用户界面传感器可以包括布置为立体地跟踪用户输入设备(例如,触笔)或放置在可移动表面210上的对象的位置的照相机对。在其他示例中,用户界面传感器可以附加地或替代地包括(一个或多个)IR照相机或(一个或多个)传感器,将(一个或多个)IR照相机或(一个或多个)传感器布置为检测由用户输入设备发射或反射的红外光。在一些示例中,传感器束164可以包括手势照相机以检测(一个或多个)对象(例如,手等)对预定义手势的执行。在一些示例中,手势照相机可以包括用于随时间对不同类型的运动进行检测、跟踪等的附加功能和深度照相机。在本文所描述的示例中,束164的每个传感器164A-164D通信地连接(例如,耦合)到设备150,使得可以向设备150提供在束164内生成的数据(例如,由照相机捕捉的图像),并且设备150可以向传感器束164的(一个或多个)传感器和(一个或多个)照相机提供命令。束164的传感器164A-164D可以经由任何合适的有线或无线通信技术或机制通信地连接到设备150,其示例如上所述。在图1-图6的示例中,电导体可以通过顶部160、直立构件140和投影仪单元180从束164布线并通过安置在安装构件186内的引线(如上所述)布线进入设备150中。参考图5和图6,在系统100的操作期间,投影仪配件184可以投射可见光187以经镜162向可移动表面210和表面200反射出,从而在表面200的投影仪显示空间188、可移动表面210或放置在其上的任何(一个或多个)对象上显示可见的(一个或多个)图像。在图5-图6的示例中,空间188可以是基本上矩形的,具有长度188L和宽度188W。在一些示例中,长度188L可以是大约16英寸,而宽度188W可以是大约12英寸。在其他示例中,长度188L和宽度188W可以具有不同的值。在其他示例中,投影显示空间188可以是圆形、椭圆形或具有任何其他形状。在一些示例中,将传感器束164的照相机(例如,照相机164A-164C)布置在系统100内,使得每个照相机的视野包括表面200的空间168,空间168可以与显示空间188一些或全部重叠,或者可以与显示空间188相连(coterminous)。在本文描述的示例中,可以认为传感器束164的照相机(例如,照相机164A-164C)的视野包括空间168,虽然有时表面200或可移动表面210上或上方的(一个或多个)对象,比如对象40,可以至少部分地遮蔽(occlude)表面200。在这种示例中,表面200或可移动表面210上或上方的(一个或多个)对象可以处于照相机164A-164C中的至少一个的视野中。在这样的示例中,基于传感器束164和表面200的空间168之间的区域的状态(例如,发生在该区域中的活动、安置在该区域中的(一个或多个)对象),传感器束164的传感器可以获取数据。在一些示例中,空间188和空间168两者与可移动表面210重合或对应,使得相对于相同的限定区域来全部执行可移动表面210、投影仪配件184和传感器束164的功能。在一些示例中,传感器束164的每个照相机(例如,照相机164A-164C)可以具有略微不同的视野。现在参考图5-图6,设备150可以指示投影仪配件184将(一个或多个)图像投影到表面200、可移动表面210和/或安置在可移动表面210上的(一个或多个)对象上。由配件184投影的(一个或多个)图像可以包括由设备150执行的软件产生的信息和/或图像。图7是图1的计算系统100的一部分的框图。具体地,图7示出了计算设备150的示例,计算设备150包括:模型获取引擎170,用以获取表示对象(例如,安置在可移动表面210上的对象40)的三维模型;以及通信引擎172,用以向另一计算系统发送三维模型并且从另一计算系统接收可包括朝向数据、所应用的图像数据或其两者的模型操纵数据。计算设备150还可以包括移动与投影引擎174,用以根据接收到的朝向数据和/或所应用的图像数据来移动可移动表面210,并且用以将所应用的图像数据投影到安置在可移动表面40上的对象上,如下所述。在图7中所示的示例中,如上所述,计算设备150还通信地连接到传感器束164并连接到可移动表面210。尽管未在图7中示出,然而如上所述,计算设备150还可以通信地连接到系统100的其他组件。计算设备150还可以通信地连接(例如,无线或电耦合)到网络240并且连接到连接到网络240的任何其他计算系统(为简洁起见未示出)。网络240可以包括无线和有线网络的任何组合,无线和有线网络诸如(一个或多个)局域网(LAN)、(一个或多个)广域网(WAN)等,并且还可以包括适合于接收数据、处理数据以及向其他计算设备发送数据的诸如路由器、网关、服务器等的计算设备。计算设备150(或实施引擎170、172和174的任何其他计算设备)可以包括至少一个处理资源。在本文描述的示例中,处理资源可以包括被包括在单个计算设备中或跨多个计算设备分布的例如一个处理器或多个处理器。如本文所使用的,“处理器”可以是中央处理单元(CPU)、基于半导体的微处理器、图形处理单元(GPU)、被配置成检索和执行指令的现场可编程门阵列(FPGA)、适用于检索和执行存储在机器可读存储介质上的指令的其他电子电路中的至少一个或其组合。在本文所描述的示例中,计算设备150的任何(一个或多个)引擎(例如,引擎170、172、174等)可以是实施相应引擎的功能的硬件和编程的任何组合。硬件和编程的这种组合可以以多种不同的方式来实施。例如,编程可以是存储在非暂时性机器可读存储介质上的处理器可执行指令,并且硬件可以包括用于执行那些指令的处理资源。在这样的示例中,机器可读存储介质可以存储当由处理资源执行时实施引擎的指令。存储指令的机器可读存储介质可以集成在与执行指令的处理资源相同的计算设备(例如,设备150)中,或者机器可读存储介质可以与计算设备和处理资源分离但可由其访问。处理资源可以包括被包括在单个计算设备中或跨多个计算设备分布的一个处理器或多个处理器。在一些示例中,指令可以是安装包的一部分,当安装该安装包时,指令可以由处理资源执行以实施系统100的引擎。在这样的示例中,机器可读存储介质可以是便携式介质,诸如光盘、DVD或闪存驱动器或服务器维持的存储器,可以从该服务器下载安装包并安装。在其他示例中,指令可以是已经安装在包括处理资源的计算设备(例如,设备150)上的一个或多个应用的一部分。在这样的示例中,机器可读存储介质可以包括诸如硬盘驱动器、固态驱动器等的存储器。如本文所使用的,“机器可读存储介质”可以是包含或存储诸如可执行指令、数据等之类的信息的任何电子、磁、光或其他物理存储设备。例如,本文描述的任何机器可读存储介质可以是存储驱动器(例如,硬盘驱动器)、闪存、随机存取存储器(RAM)、任何类型的存储盘(例如,光盘、DVD、等等)等或其组合中的任何一个。此外,本文描述的任何机器可读存储介质可以是非暂时性的。模型获取引擎170可以获取表示安置在可移动表面210上的物理对象(例如,对象40)的三维模型数据(以下称为“模型数据”)。在一些示例中,通过基于安置在可移动表面210上的物理对象来生成模型数据,引擎170可以获取该模型数据。例如,引擎170可以控制或配置来自传感器束164的一个或多个照相机,以获得物理对象的一个或多个图像并且向引擎170发送一个或多个图像。在接收到一个或多个图像时,引擎170可以基于该(一个或多个)图像生成模型数据。例如,基于从传感器束164的多个(例如,两个或更多)不同照相机接收的多个(例如,两个或更多)图像,引擎170可以生成模型数据。在一些示例中,多个照相机可以彼此位于预定的固定距离处,在这种情况下,由照相机获得的多个图像可以是立体图像,即,从不同角度拍摄的相同物理对象的图像。至少基于该多个图像(例如,立体图像)并且基于预定的固定距离,引擎170可以生成表示物理对象的三维模型数据。在一些示例中,引擎170还可以(例如,使用深度照相机164C)确定从传感器束164到物理对象的距离,在这种情况下,三维模型数据的生成也可以基于所确定的距离。在一些示例中,模型获取引擎170还可以控制或配置移动与投影引擎174,以如下所述地移动(例如旋转)可移动表面210和放置在其上的物理对象,并且使用传感器束164的一个或多个照相机,以获得在不同位置和/或朝向的物理对象的多个图像。然后,引擎170可以基于该多个图像生成三维模型数据,其中不同的图像可以表示处于不同位置和/或朝向的物理对象。在一些示例中,在生成模型数据之后,引擎170可以将模型数据存储在例如机器可读存储介质上。在一些示例中,代替或除了实时生成模型数据之外,引擎170可以例如从机器可读存储介质获取先前存储的模型数据,可以如上所述地将机器可读存储介质集成在计算设备150中,或者机器可读存储介质可以与计算设备150分离但可(例如,经由网络240)由计算设备150访问。在一些示例中,先前存储的模型数据可能之前已经由计算设备150生成,如上所述。在其他示例中,先前存储的模型数据可能先前已由另一个设备使用用于生成三维模型的任何合适的方法生成。现在结合图7来参考图8A,在获取模型数据之后,模型获取引擎170可以向通信引擎172发送模型数据,通信引擎172然后可以通过网络240向另一个计算系统(例如,计算系统300)发送模型数据。在一些示例中,可以将系统300实施为计算系统100,或者实施为能够实现本文所描述的方法的任何其他计算系统。例如,计算系统300可以包括计算设备350,其可以被实施为计算设备150,或者实施为适于执行本文描述的功能的任何其他计算设备。计算设备350在从计算系统100(例如,从计算设备150)接收模型数据之后,可以例如通过在显示器362上渲染三维模型数据的二维透视图(例如,视图394)来在显示器352上显示接收到的模型数据。在一些示例中,发送到计算设备350的模型数据可以包括对象朝向数据,其指示安置在可移动表面210上的对象40的当前朝向。在这种情况下,计算设备350可以使用对象朝向数据以用对应于对象40的当前朝向的透视图来在显示器352上显示接收的模型数据。如在图8A中所示,视图394在朝向方面对应于对象40。在一些示例中,计算系统可以从其用户接收用户输入以操纵模型数据。在一些示例中,如在显示器352上呈现的,用户可以通过移动、调整大小、旋转或以其他方式改变模型数据的朝向来操纵模型数据。例如,这可以通过点击并拖动(或触摸并滑动)所呈现的模型数据、通过使诸如窗口小部件390a和390b之类的图形用户界面(GUI)窗口小部件与输入设备330相接合或通过使用任何其他合适的手段来实现,输入设备330可以是鼠标、触敏表面、手指、触笔等。在一些示例中,当计算设备350的用户如上所述地改变模型数据的朝向时,计算设备350可以(例如,通过网络240)向计算系统100发送朝向数据,计算系统100可以基于该朝向数据来确定如在显示器352上呈现的模型数据的当前朝向。在一些示例中,朝向数据可以以绝对值或以相对于先前朝向的值描述模型数据的当前朝向。例如,可以根据相对于固定轴的(一个或多个)角度来表示该绝对值,并且可以根据用户最后绕其中心轴旋转模型数据的(一个或多个)角度来表示相对值。现在参考图8B,在一些示例中,设备350的用户还可以通过绘制、绘画、应用图像或图形或以其他方式将图像(例如,图像395)应用于模型数据来操纵模型数据。为了将图像应用于模型数据,用户可以使用例如输入设备330和任何合适的GUI窗口小部件(例如,可从绘画工具栏392选择的窗口小部件)。用户还可以如上所述地移动(例如,旋转)模型数据,这可以允许用户在模型数据的任何侧或任何面上应用图像。在一些示例中,当计算设备350的用户对所应用于模型数据的图像进行任何改变时,计算设备350可以(例如,通过网络240)向计算设备150发送所应用的图像数据,该图像数据表示已经应用到模型数据的图像,该图像数据包括在其中应用图像的模型数据上的(一个或多个)位置。在一些示例中,所应用的图像数据可以仅描述先前应用的图像和当前应用的图像之间的差异,并且还可以包括模型数据上的差异的确切的(一个或多个)位置。虽然在上述一些示例中,当显示器352上的模型数据的朝向改变时的任何时候,计算设备350都向计算设备150发送朝向数据,但是在其他示例中,计算设备350可以仅在已应用的图像改变时向计算设备150发送朝向数据和应用的图像数据。也就是说,如果模型的朝向发生改变但已应用的图像保持不变,则计算设备350可以不向计算设备150发送更新的朝向数据。现在返回参考图7,如上所述,计算设备150的通信引擎172可以从其他计算系统接收模型操纵数据,其可以包括朝向数据和/或所应用的图像数据。然后,通信引擎172可以向移动与投影引擎174发送操纵数据。移动与投影引擎174可以确定所接收的操纵数据是否包括任何朝向数据,并且可以确定所接收的操纵数据是否包括任何所应用的图像数据。如果包括朝向数据,则引擎174可以移动(例如,旋转)可移动表面210,致使根据朝向数据来定向可移动表面210和布置在其上的对象。例如,引擎174可以移动可移动表面210,使得对象的朝向(例如,从垂直于显示器152并且在显示器152的中心处的位置看到的)变得与在显示器352上呈现的模型数据的朝向相同或基本上相同。在一些示例中,朝向数据可以指定需要可移动表面210移动的(一个或多个)角度,在这种情况下,引擎174可以将可移动表面210移动指定的(一个或多个)角度。在一些示例中,朝向数据还可以指定可移动表面210需要移动的方向(例如,顺时针或逆时针),在这种情况下,引擎174可以在指定方向上将可移动表面210移动指定的(一个或多个)角度。在一些示例中,引擎174可以进一步(例如,从传感器束164的(一个或多个)照相机或者从照相机154)接收跟踪信息,其标识出计算设备150的用户(例如,用户面部)的位置。在这种情况下,引擎174可以移动可移动表面210,使得从所标识的用户位置看到的对象的朝向变得与显示器352上呈现的模型数据的朝向相同或基本上相同。在一些示例中,引擎174可以移动可移动表面210以使对象的朝向(如从垂直于显示器152并且在显示器152的中心的位置看到的,或者如从所标识的用户位置看到的)相对于显示器352上呈现的模型数据的朝向处于预定角度(例如,30°、45°、90°、180°、270°等)。在其他示例中,如果操纵数据不包括朝向数据,但包括所应用的图像数据应用的图像数据,则引擎174可以基于所应用的图像数据来移动可移动表面210。例如,引擎174可以移动可移动表面210,使得所应用的图像数据可以由投影仪配件184投影到对象的适当部分。例如,在一些实施中,由于几何约束,投影仪配件184可以仅在对象的一侧(例如面向或较靠近投影仪配件184或折叠镜162的一侧)上投影,并且可能无法在另一侧上投影。在这种情况下,引擎174可以移动可移动表面210,使得投影仪配件184可以在需要在其上应用所应用的图像数据的对象的侧上进行投影。在一些示例中,如果接收到的操纵数据包括所应用的图像数据,则引擎174可以控制或配置投影仪配件184以将所应用的图像数据投影在对象上,使得如在对象上呈现的投影的所应用的图像数据(例如,投影的所应用的图像数据195)在位置和视觉特性方面对应于在显示器352上呈现的图像(例如,图像395)。在一些示例中,基于对象相对于投影仪配件184的距离和位置,引擎174可进一步控制或配置投影仪配件184以调整或校准投影的所应用的图像数据,使得呈现在对象上的图像数据不是几何失真的。在一些示例中,所应用的图像数据的投影可在可移动表面210的移动之后或与其并行地发生。如上所述,例如,当接收到的操纵数据中不包括朝向数据时,引擎174可以基于所接收的朝向数据或者基于所应用的图像数据来移动可移动表面210。在一些示例中,当模型数据出现在显示器352上时,计算系统还可以在显示器152上显示该模型数据,以向计算设备150的用户示出计算设备350的用户如何看到并操纵该模型数据。在一些示例中,当引擎174接收操纵数据时,除了如上所述地移动可移动表面210和/或将图像投影到对象40上之外,引擎174还可以根据操纵数据来更新出现在显示器152上的模型数据。在其他示例中,显示器152可以不显示模型数据,并且代之以可以显示例如计算设备350的用户的实况视频,该实况视频例如由计算设备350中包括的照相机(例如,图8C中所示的照相机354)捕捉。在一些示例中,如图8C中所示,除了对象40之外,计算设备150还可以包括诸如对象195的第二可投影对象。对象195可以是任何类型的对象,该对象可以位于投影显示空间188内并且具有至少一个表面,投影仪配件184可以在该至少一个表面上投影并且计算设备150的用户可以看见该至少一个表面。例如,对象195可以是具有表面的任何对象,该表面可以由投影仪配件184在其上投影,并且该表面从在显示器152中央并且垂直于显示器152的位置和离显示器152预定距离(例如,2英尺)可见。在一些示例中,对象195可以是楔形的。在一些示例中,可以将对象195物理耦合到计算设备150的任何(一个或多个)组件,或者其可以是由计算设备150的用户可自由移动的。例如,用户可以将对象195定位在投影显示空间188内的任何地方。在一些示例中,通信引擎172可以从计算设备350接收用户图像数据,该用户图像数据例如可以是例如由面向计算设备350的用户的照相机354捕捉的静止图像或实时视频流。因此,所接收的用户图像数据可以包括表示计算设备350的用户的图像数据。通信引擎172可以向移动与投影引擎174发送接收到的图像数据。然后,引擎174可以将图像数据(例如,图像数据196)投影到对象195上。在一些示例中,引擎174或计算设备150的任何其他的(一个或多个)引擎可以首先确定对象195在投影显示空间188内的位置和/或对象195背向或大致背离显示器152的表面的位置。然后,引擎174可以使用该信息将图像数据投影到对象和表面的确定位置上。将表示其他用户的图像数据投影到紧邻对象40定位并且与对象40处于大致相同的高度的对象上允许计算设备的用户同时观察对象40、投影到对象40上的所应用的图像数据以及执行模型数据操纵的用户的面部,而不必将视线上移向监视器152。类似地,在一些示例中,还如图8C中所示,计算系统300还可以包括投影仪配件和可投影对象,比如对象395。对象395还可以是任何类型的对象,其可以位于投影显示空间388内并且具有至少一个表面,投影仪配件可以在该至少一个表面上进行投影并且该至少一个表面是计算设备350的用户可见的。例如,对象395可以是具有如下的表面的任何对象,即,该表面可以由投影仪配件在其上进行投影并且从在显示器352中央并且垂直于显示器352的位置和离显示器352预定距离(例如,2英尺)可见。在一些示例中,对象395还可以是楔形的。在一些示例中,可以将对象395物理地耦合到计算系统300的任何(一个或多个)组件,或者它可以是由计算系统300的用户可自由移动的。例如,用户可以将对象395定位在投影显示空间388内的任何地方。在一些示例中,计算设备350还可以从计算设备150(例如,从其通信引擎172)接收用户图像数据,其例如可以是例如由面向计算设备150的用户的照相机154捕捉的静止图像或实时视频流。因此,接收到的用户图像数据可以包括表示计算设备150的用户的图像数据。然后,计算设备350可以配置投影仪以将图像数据(例如,图像数据396)投影到对象395上,该投影仪可以包括在计算系统300中。在一些示例中,计算设备350可以首先确定对象395在投影显示空间388内的位置和/或背向或大致背离显示器352的对象395的表面的位置。然后,计算设备350可以使用该信息来配置投影仪,以将图像数据投影到表面和对象的确定位置上。图9是示例计算设备350的框图。在图9的示例中,计算设备350通信地连接到显示器352,并且包括处理资源310和包括(例如,编码有)指令322-325的机器可读存储介质320。在一些示例中,存储介质320可以包括附加指令。在其他示例中,指令322-325和本文关于存储介质320描述的任何其他指令都可以存储在远离计算设备350和处理资源310但是可由其进行访问的机器可读存储介质上。处理资源310可以获取、解码和执行存储在存储介质320上的指令以实施下面描述的功能。在其他示例中,存储介质320的任何指令的功能可以以电子电路的形式、在机器可读存储介质上编码的可执行指令的形式或其组合来实现。机器可读存储介质320可以是非暂时性机器可读存储介质。在图9的示例中,如上所述,指令322可以从包括投影仪(例如,投影仪配件184)和可移动表面(例如,可移动表面210)的另一计算系统(例如,计算系统100)接收三维模型数据。如上所述,三维模型数据可以与放置或安置在可移动表面上的对象(例如,对象40)相关联。然后,如上所述,指令323可以在显示器(例如,显示器352)上显示三维模型数据。指令324可以(例如,经由输入设备330)接收与所显示的三维模型数据相关联的用户输入。如上所述,用户输入可以请求移动、旋转、调整大小或以其他方式重新定向所显示的模型数据,和/或将图像应用于所显示的模型数据。指令325可以(例如,经由网络240)向其他计算系统(例如,计算系统100)发送操纵数据。如上所述,取决于用户输入,操纵数据可以包括朝向数据和/或所应用的图像数据。在一些示例中,作为三维模型数据的一部分,指令322可以接收对象朝向数据,该对象朝向数据描述安置在其他计算系统(例如,计算系统100)的可移动表面上的对象(例如,对象40)的朝向。在这些示例中,指令323可以用对应于对象朝向的透视图来显示三维模型数据。应当理解,在一些示例中,可以包括附加指令以实施上面讨论的计算设备350的附加功能。图10是示例方法400的流程图。尽管下面参照上述计算系统100描述了方法400的执行,但是可以使用用于执行方法400的其他合适的系统。另外,应当理解,方法400的实施不限于这样的示例。在框405,如上所述,方法400可以获取表示安置在可移动表面(例如,可移动表面210)上的对象(例如,对象40)的模型数据。例如,该方法可以(例如,经由传感器束164的至少一个照相机)获得表示第一朝向中的对象的至少第一图像,并且至少基于该第一图像生成模型数据。该方法还可以移动可移动表面以将对象放在另一朝向中,以(例如,经由传感器束164的至少一个照相机)获得表示另一朝向中的对象的至少第二图像,并且至少基于该第一和第二图像生成模型数据。在框410,该方法可以(例如,通过计算系统100从计算系统300)接收操纵数据,该操纵数据至少包括与模型数据的至少一个表面相关联的所应用的图像数据。如上所述,计算系统300的用户可以将图像应用到模型数据的任何表面、面或侧。在框415,该方法可以确定对象(例如,对象40)的表面,该表面对应于与所应用的图像数据相关联的模型数据的表面。也就是说,该方法可以确定应该将所应用的图像数据应用于对象的哪一侧。该方法可以例如通过(例如,经由传感器束164的一个或多个照相机)捕捉对象的一个或多个图像并且基于该(一个或多个)图像来确定对象的哪个表面对应于已经应用了所应用的图像数据的模型数据的表面来确定这一点。在框420,该方法可以基于在框415处确定的对象表面的位置来移动可移动表面。例如,如上所述,该方法可以移动可移动表面,以致使对象的确定的表面面向用户和/或背向显示器(例如,显示器152)。如上所述,在移动可移动表面之后或与其并行,该方法可以将所应用的图像数据投影到在框415处确定的对象表面上。尽管图10的流程图示出了某些功能的特定执行顺序,但是方法400不限于该顺序。例如,可以以不同的顺序执行、可以同时或部分同时地执行或其组合来执行流程图中连续示出的功能。另外,一些功能可以从方法400中省略和/或添加到方法400。在一些示例中,本文关于图10描述的特征和功能以与本文关于图1至图9中的任一个描述的特征和功能组合地提供。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1