本发明涉及测量技术,尤其涉及一种距离测量方法和终端设备。
背景技术:
随着现代科技的不断发展,很多人们平时使用的小工具都可以集成在智能终端上,如指南针、日历、时钟、计算器等,而在目前的智能终端上却很少发现有可以实现尺子功能的小工具。如果能利用智能终端进行距离的测量,例如,拿着终端就可测量身高、物品、房屋等的长宽高以及两点之间的距离等,这将会使终端功能更加丰富,在很多情况下会给人们带来很大的方便。
技术实现要素:
本发明提供一种距离测量方法和终端设备,以实现用户利用智能终端就能进行距离的测量。
本发明提供了一种距离测量方法,包括:
终端设备接收用户通过测量界面输入的开始测量指示信息;
所述终端设备根据所述开始测量指示信息确定接收所述开始测量指示信息时的第一位置的坐标;
所述终端设备测量所述终端设备在移动过程中的加速度;
所述终端设备根据所述第一位置的坐标和所述加速度,计算第二位置的坐标,所述第二位置为测量终止位置;
所述终端设备根据所述第一位置的坐标和所述第二位置的坐标,计算所述第一位置和所述第二位置之间的直线距离。
可选地,所述距离测量方法还包括:
所述终端设备根据所述第一位置的坐标和所述加速度,计算所述第一位置和所述第二位置之间的曲线距离。
可选地,所述距离测量方法还包括:
所述终端设备显示所述第一位置和所述第二位置之间的直线距离和曲线距离。
可选地,测量所述终端设备在移动过程中的加速度,包括:
所述终端设备通过三轴加速度计获取所述终端设备在x轴、y轴和z轴的加速度。
可选地,所述第一位置的坐标为三维坐标系的原点。
本发明还提供了一种终端设备,包括:
接收模块,用于接收用户通过测量界面输入的开始测量指示信息;
确定模块,用于确定所述接收模块接收所述开始测量指示信息时的第一位置的坐标;
测量模块,用于测量所述终端设备在移动过程中的加速度;
计算模块,用于根据所述第一位置的坐标和所述加速度,计算第二位置的坐标,所述第二位置为测量终止位置;
所述计算模块,还用于根据所述第一位置的坐标和所述第二位置的坐标,计算所述第一位置和所述第二位置之间的直线距离。
可选地,所述计算模块,还用于根据所述第一位置的坐标和所述加速度,计算所述第一位置和所述第二位置之间的曲线距离。
可选地,所述终端设备,还包括:
显示模块,用于显示所述第一位置和所述第二位置之间的直线距离和曲线距离。
可选地,所述测量模块,具体用于:
通过三轴加速度计获取所述终端设备在x轴、y轴和z轴的加速度。
可选地,所述第一位置的坐标为三维坐标系的原点。
本发明提供一种距离测量方法和终端设备,终端设备根据在测量过程中获取的实时加速度以及开始测量时终端设备所处的第一位置的坐标,计算出终止测量时终端设备所处的第二位置的坐标,从而在终端设备中实现距离的测量,大大提高了距离测量的方便度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的距离测量方法的流程图;
图2为本发明实施例二提供的距离测量方法的流程图;
图3为本发明实施例三提供的终端设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一提供的距离测量方法的流程图,本实施例的方法由终端设备执行,该终端设备可以是智能手机、平板电脑、个人计算机等具有数据处理和显示功能的电子设备,如图1所示,本实施例的方法可以包括:
步骤101、终端设备接收用户通过测量界面输入的开始测量指示信息。
具体地,在用户需要进行距离测量时,打开终端设备上的测量系统,该测量系统可以为一个新增的应用(application,简称app),也可以集成在已有app中,即在已有app中增加一个测量功能。终端设备就会显示测量界面,此时用户可以在测量界面中输入开始测量指示信息,终端设备接收用户输入的开始测量指示信息之后开始进入测量模式。
可选地,测量界面上设置有“开始测量”按钮,用户通过点击该按钮即可开始测量;也可以是通过触发测量界面上指示的物理按键进入测量模式;还可以通过摇晃终端设备等其他人机交互的形式指示终端设备开始进行测量。此外,在测量界面上还设置有测量模式的选项,测量模式包括:选择直线距离测量模式、曲线距离测量模式、直线距离和曲线距离同时测量模式等。
进一步地,在测量界面中还可以进行测量精度的设置,用户可以根据不同的测量对象设置不同的测量精度,可以在保证测量结果有效性的同时,合理地分配终端设备的内存。例如,在用户将本实施例的方法用于测量身高时,由于测量身高的过程用时较短,且对于身高数据精度要求较高,因此用户可以选择较高精度的测量模式进行身高测量,如选择保证毫米以内误差的测量精度;而在用户将本实施例的方法用于测量长跑锻炼的路程时,由于测量的过程用时长,且对于路程的结果要求精度要求不高,此时,用户就可以选择较低精度的测量模式进行路程测量,如选择保证米以内误差的测量精度,这样可以减少长时间测量过程中测量数据对终端设备的内存占用。
步骤102、终端设备根据开始测量指示信息确定接收开始测量指示信息时的第一位置的坐标。
具体地,终端设备接收到开始测量指示信息时,将终端设备确定接收开始测量指示信息时的位置记录为第一位置,同时测量系统建立一个固定的三维坐标系,此坐标系可以为笛卡尔直角坐标系,也可以为极坐标系,并且确定第一位置在该三维坐标系中的坐标位置。
可选地,测量系统将第一位置作为该三维坐标系的原点,以地理方位的东方作为x轴方向,以地理方位的北方作为y轴方向,以重力反方向作为z轴方向。本实施例并不对该三维坐标系的原点位置以及三轴的方向作具体的限定。
步骤103、终端设备测量终端设备在移动过程中的加速度。
具体地,终端设备进入测量状态后,用户将其沿着待测量对象的具体路径进行移动,如测量身高时将终端设备从用户的脚底位置移动到头顶位置,测量操场跑道周长时将终端设备沿着操场环行一周。在终端设备的移动过程中,终端设备可以通过内置的测量加速度的传感器获取终端设备的实时加速度。
可选地,该终端设备内置有三轴加速度计,在终端设备移动过程中,终端设备可以通过内置的三轴加速度计获取终端设备在x轴、y轴和z轴的加速度。该终端设备还可以通过三轴陀螺仪获取终端设备在x轴、y轴和z轴的加速度。此外,还可以通过在终端设备中同时内置三轴加速度计和三轴陀螺仪,以进一步提高在剧烈曲线运动过程中的测量精度。
步骤104、终端设备根据第一位置的坐标和加速度,计算第二位置的坐标,其中第二位置为测量终止位置。
在用户到达测量的终点时,用户可以在测量界面中输入终止测量请求信息,终端设备接收用户输入的终止测量请求信息之后终止测量,并将接收终止测量请求信息时终端设备所处的位置记录为第二位置。终端设备根据第一位置的坐标和加速度,计算第二位置的坐标。
可选地,测量界面上设置有“结束测量”按钮,用户通过点击该按钮即可终止测量;也可以是通过触发测量界面上指示的物理按键终止测量;还可以通过摇晃终端设备等其他人机交互的形式指示终端设备终止测量。
可选地,测量系统将终端设备接收到开始测量指示信息时所处的位置作为原点建立三维坐标系,则第一位置的坐标(x1,y1,z1)为(0,0,0)。将从第一位置到第二位置的全过程分为n个时间间隔为δt的小区间,通过终端设备内置的三轴加速度计实时获取终端设备沿x轴、y轴以及z轴的加速度axn、ayn、azn,根据微分形式下的位移计算公式,可得知在上述各个小区间δt内终端设备沿x轴、y轴以及z轴的位移dxn、dyn、dzn如下:
其中,vx1=0,vx2=ax2δt,vx3=vx2+ax3δt,……,vxn=vx(n-1)+axnδt;
δt为时间间隔,dxn为在第n个δt小区间内终端设备沿x轴的位移,axn为在第n个δt小区间内终端设备沿x轴的加速度,vxn为在第n个δt小区间内终端设备沿x轴的速度。
其中,vy1=0,vy2=ay2δt,vy3=vy2+ay3δt,……,vyn=vy(n-1)+aynδt;
δt为时间间隔,dyn为在第n个δt小区间内终端设备沿y轴的位移,ayn为在第n个δt小区间内终端设备沿y轴的加速度,vyn为在第n个δt小区间内终端设备沿y轴的速度。
其中,vz1=0,vz2=az2δt,vz3=vz2+az3δt,……,vzn=vz(n-1)+aznδt;
δt为时间间隔,dzn为在第n个δt小区间内终端设备沿z轴的位移,azn为在第n个δt小区间内终端设备沿z轴的加速度,vzn为在第n个δt小区间内终端设备沿z轴的速度。
通过积分累加可得第二位置的坐标为(x2,y2,z2),具体如下:
x2=dx1+dx2+dx3+…+dxn;
y2=dy1+dy2+dy3+…+dyn;
z2=dz1+dz2+dz3+…+dzn。
步骤105、终端设备根据第一位置的坐标和第二位置的坐标,计算第一位置和第二位置之间的直线距离。
具体地,终端设备根据第一位置的坐标和第二位置的坐标,通过直线距离计算公式:
计算出第一位置和第二位置之间的直线距离。
可选地,测量系统将终端设备接收到开始测量指示信息时所处的位置作为原点建立三维坐标系,则第一位置的坐标(x1,y1,z1)为(0,0,0),则第一位置和第二位置之间的直线距离为
本实施例中,终端设备根据在测量过程中获取的实时加速度以及开始测量时终端设备所处的第一位置的坐标,计算出终止测量时终端设备所处的第二位置的坐标,从而在终端设备中实现距离的测量,大大提高了距离测量的方便度。
在图1所示实施例的基础上,图2为本发明实施例二提供的距离测量方法的流程图。如图2所示,本实施例的方法包括:
步骤201、终端设备接收用户通过测量界面输入的开始测量指示信息。
步骤202、终端设备根据开始测量指示信息确定接收开始测量指示信息时的第一位置的坐标。
步骤203、终端设备测量终端设备在移动过程中的加速度。
步骤204、终端设备根据第一位置的坐标和加速度,计算第二位置的坐标,其中第二位置为测量终止位置。
步骤205、终端设备根据第一位置的坐标和第二位置的坐标,计算第一位置和第二位置之间的直线距离。
步骤201-205的具体实现方式参照实施例一中步骤101-105的描述,这里不再赘述。
步骤206、终端设备根据第一位置的坐标和加速度,计算第一位置和第二位置之间的曲线距离。
具体地,终端设备根据第一位置的坐标和加速度,通过积分的方式计算得到第一位置和第二位置之间的曲线距离。
可选地,测量系统将终端设备接收到开始测量指示信息时所处的位置作为原点建立三维坐标系,则第一位置的坐标(x1,y1,z1)为(0,0,0)。将从第一位置到第二位置的全过程分为n个时间间隔为δt的小区间,通过终端设备内置的三轴加速度计实时获取终端设备沿x轴、y轴以及z轴的加速度axn、ayn、azn,根据微分形式下的位移计算公式,可得知在上述各个小区间δt内终端设备沿x轴、y轴以及z轴的位移dxn、dyn、dzn如下:
其中,vx1=0,vx2=ax2δt,vx3=vx2+ax3δt,……,vxn=vx(n-1)+axnδt;
δt为时间间隔,dxn为在第n个δt小区间内终端设备沿x轴的位移,axn为在第n个δt小区间内终端设备沿x轴的加速度,vxn为在第n个δt小区间内终端设备沿x轴的速度。
其中,vy1=0,vy2=ay2δt,vy3=vy2+ay3δt,……,vyn=vy(n-1)+aynδt;
δt为时间间隔,dyn为在第n个δt小区间内终端设备沿y轴的位移,ayn为在第n个δt小区间内终端设备沿y轴的加速度,vyn为在第n个δt小区间内终端设备沿y轴的速度。
其中,vz1=0,vz2=az2δt,vz3=vz2+az3δt,……,vzn=vz(n-1)+aznδt;
δt为时间间隔,dzn为在第n个δt小区间内终端设备沿z轴的位移,azn为在第n个δt小区间内终端设备沿z轴的加速度,vzn为在第n个δt小区间内终端设备沿z轴的速度。
进一步可得:
dsn为在第n个δt小区间内终端设备的位移。
通过积分累加可得第一位置到第二位置的曲线距离为:
s=ds1+ds2+ds3+…+dsn;
s为第一位置到第二位置的曲线距离。
需指出的是,步骤205与步骤206之间没有先后顺序,本实施例的方法中在步骤207之前先执行步骤205再执行步骤206。当然,在其他实施例中,还可以是步骤207之前同时执行步骤205与步骤206,也可以是步骤207之前先执行步骤206再执行步骤205。
步骤207、终端设备显示第一位置和第二位置之间的直线距离和曲线距离。
具体地,终端设备会将计算得到的第一位置和第二位置之间的直线距离和曲线距离在测量结果显示界面中进行显示。
可选地,在测量结果显示界面中还可以切换长度显示的单位,如厘米,米,英寸等。同时,在该界面中,用户还可以在测量历史记录中查看之前测量的结果信息,此外,也可以对每个测量结果信息添加备注,以便后续的再次查看。
进一步地,在测量过程中上述的测量结果显示界面实时显示当前终端设备所处位置与第一位置之间的直线距离和曲线距离,从而使用户在测量时更加直观与方便。
图3为本发明实施例三提供的终端设备的结构示意图。如图3所示,本实施例的终端设备,包括:
接收模块301,用于接收用户通过测量界面输入的开始测量指示信息;
确定模块302,用于确定接收模块接收开始测量指示信息时的第一位置的坐标;
测量模块303,用于测量终端设备在移动过程中的加速度;
计算模块304,用于根据第一位置的坐标和加速度,计算第二位置的坐标,第二位置为测量终止位置;
计算模块304,还用于根据第一位置的坐标和所述第二位置的坐标,计算第一位置和第二位置之间的直线距离。
可选地,计算模块304,还用于根据第一位置的坐标和所述加速度,计算第一位置和第二位置之间的曲线距离。
可选地,本实施例的终端设备,还包括:
显示模块305,用于显示第一位置和第二位置之间的直线距离和曲线距离。
可选地,测量模块303,具体用于:
通过三轴加速度计用于获取终端设备在x轴、y轴和z轴的加速度。
可选地,第一位置的坐标为三维坐标系的原点。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。