CN112734628A - 一种经三维转换后的跟踪点的投影位置计算方法及系统 - Google Patents

一种经三维转换后的跟踪点的投影位置计算方法及系统 Download PDF

Info

Publication number
CN112734628A
CN112734628A CN202011606321.8A CN202011606321A CN112734628A CN 112734628 A CN112734628 A CN 112734628A CN 202011606321 A CN202011606321 A CN 202011606321A CN 112734628 A CN112734628 A CN 112734628A
Authority
CN
China
Prior art keywords
coordinate system
coordinate
coordinates
tracked point
world
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011606321.8A
Other languages
English (en)
Other versions
CN112734628B (zh
Inventor
卢荣昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Anchenxin Information Technology Co ltd
Original Assignee
Vtron Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vtron Group Co Ltd filed Critical Vtron Group Co Ltd
Priority to CN202011606321.8A priority Critical patent/CN112734628B/zh
Publication of CN112734628A publication Critical patent/CN112734628A/zh
Application granted granted Critical
Publication of CN112734628B publication Critical patent/CN112734628B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/08Projecting images onto non-planar surfaces, e.g. geodetic screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

本发明涉及图像处理技术领域,具体为一种经三维转换后的跟踪点的投影位置计算方法及系统。用于解决图形经三维变换后,无法确定被跟踪点的投影位置的问题。此种基于矩阵运算的三维图形投影位置计算方法包括:构建世界坐标系和屏幕坐标系,在世界坐标系中建立图形;确定自身坐标系的原点和坐标轴的轴向量在世界坐标系中的坐标、以及被跟踪点在世界坐标系中的坐标;计算自身坐标系的被跟踪点的坐标;计算被跟踪点在自身坐标系的坐标;将图形进行三维转换,并记录在矩阵数组中;将被跟踪点的自身坐标系的坐标转换为世界坐标系的坐标,再转换为屏幕坐标系的坐标。通过上述技术方案,以实现准确找到被跟踪点的投影位置及解耦不同图形模块的技术效果。

Description

一种经三维转换后的跟踪点的投影位置计算方法及系统
技术领域
本发明涉及图像处理技术领域,更具体地,涉及一种经三维转换后的跟踪点的投影位置计算方法及系统。
背景技术
在数据可视化产品中,常常会涉及到三维层面的图形数据展示的场景,而前端体系提供了css和css3的transform配置,可以方便快捷的配置出一个带有模拟真实透视效果三维变化。而经过变换后的图形上的点,无论是页面上的空间的绝对定位还是投影到屏幕的屏幕坐标,都和原本的位置发生了变化;虽同时存在自身坐标系、世界坐标系和屏幕坐标系三个坐标系,但css与css3每次的转换都是以图形自身建立坐标系计算的,而css与css3体系的图形自身坐标系并不提供变换后的点所对应的这三种坐标系中任何一个坐标系下的坐标,因此无法直接获取经过三维转换后的图形上的点的坐标,给实践场景中需要定位经过三维转换后的图形上的点的坐标带来极大的困难,无法实现所需要的技术效果。
本技术方案应用于计算机前端开发,当前端界面中的图形经过三维转换后,获取图形上的跟踪点在屏幕上的投影位置。适用于所有使用标准css和css3作为样式变换的前端领域,具体涉及领域为所有需要跟踪并得到经过三维变换后图形上的某个点的位置坐标的场景,如世界地图上的某个点,在世界地图经过平移斜切倾斜后所在的实际屏幕位置,或是玻璃珠上的水滴,在玻璃珠经过css变换后,对应的实际位置坐标等。本技术方案的实现基于javaScript es6语言提供的数学计算方法、css与css3提供的三维转换方法、三维透视原理和几何计算原理。
世界坐标系是系统的绝对坐标系,在没有建立用户坐标系之前画面上所有点的坐标都是以该坐标系的原点来确定各自的位置的。世界坐标系定义为:带有小圆的圆心为原点ow,xw轴水平向右,yw轴向下,zw由右手法则确定,v′n为实时图中对应的统计特征向量;系统的绝对坐标系也称为世界坐标系,在没有建立用户坐标系之前画面上所有点的坐标都是以该坐标系的原点来确定各自的位置的;设一个基准坐标系Xw—Yw—Zw称为世界坐标系(xw,yw,zw)为空间点P在世界坐标系下的坐标(u,v)为P点在图像直角坐标系下的坐标。
屏幕坐标系是手机屏幕或者电脑屏幕的一个坐标系。屏幕坐标是以像素来定义的,屏幕左下角为原点(0,0),右上角为(Screen.width,Screen.height),width是屏幕的宽度,height是屏幕的高度,Z值是摄像机世界坐标取反,并且以相机的世界单位来衡量的。屏幕坐标和相机之间满足:Screen.width=Camera.main.pixelWidth和Screen.height=Camera.main.pixelHeight这两个条件。鼠标的位置坐标属于屏幕坐标,通过Input.mousePosition获取鼠标的屏幕坐标。
自身坐标系是基于计算机图形自身所建立的三维直角坐标系,当计算机图形进行三维变换时,自身坐标跟随之进行相应的变换。
视觉的基础窗口是css三维转换需要确定一个视觉的基础窗口,然后依据该窗口,模拟人眼在设定距离(perspective)下,旋转(rotate,rotate3d),平移(translate,translate3d),伸缩(scale,scale3d)等等。如图3所示,依据css提供的转换,最大的矩形框3为视觉的基础窗口,三维变换则为以距离基础窗口m单位的人眼位置(perspective=m)为视线起点,以三维变换的源点作为坐标轴的原点去新建一个三维直角坐标系,窗口内的一个矩形绕x轴旋θ角度,框1为三维变换前的原矩形,框2为三维变换后的新矩形,a为变换前的顶点,a’为变换后屏幕上显示的顶点,A为变换后三维空间内的顶点,假设a点相对于基础窗口的top=xa,left=ya,a’为top=xa’,left=ya’;则旋转变化的侧视图如图4所示,主视图如图5所示;由侧视图和主视图可知,旋转后的a点变换到了A点,而虚线为人眼的视线,则a’为人眼所看到的屏幕上的实际点。
假设,a点在该直角坐标系下的坐标为(x0,y0,z0),则可得到A点的坐标为(x0,y0*cosθ,y0*sinθ),此时,设a’为(x1,y1,z1);
根据三角形相似原理,可得到
x1/x0=m/(m+y0*sinθ)=>x1=m*x0/(m+y0*sinθ);
y1/y0*cosθ=m/(m+y0*sinθ)=>y1=m*y0*cosθ/(m+y0*sinθ);
z1=0;
又因为坐标原点o的left=xo,top=yo,得到
y0=xa-xo;
y0=ya-yo;
x1=m*(xa-xo)/(m+(ya-yo)*sinθ);
y1=m*(ya-yo)*cosθ/(m+(ya-yo)*sinθ);
即新得到的点a’在css容器内的位置为:
left=m*(xa-xo)/(m+(ya-yo)*sinθ)+xo;
top=m*(ya-yo)*cosθ/(m+(ya-yo)*sinθ)+yo;
其余的伸缩,平移变换以此类推;旋转角度θ根据旋转的情况,分为正数和负数,当计算的点往屏幕内旋转时候为正,往屏幕外面旋转为则负。
发明内容
本发明旨在克服上述现有技术的至少一种缺陷(不足),提供一种经过三维转换的点投影位置计算方法及系统,用于解决图形在经过三维变换后,无法定位被跟踪点的在屏幕上的投影位置的问题;以实现准确找到被跟踪点的投影位置及解耦不同图形模块的技术效果。
本发明采取的技术方案是,一种经三维转换后的跟踪点的投影位置计算方法,包括:
构建世界坐标系和屏幕坐标系,在所述世界坐标系和屏幕坐标系中建立待三维转换的图形,所述图形有其自身坐标系,确定视觉的基础窗口和所述图形上的被跟踪点,定义用于存储三维转换信息的矩阵数组;
根据所述基础窗口,确定未经三维转换时的自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标以及所述被跟踪点在世界坐标系中的坐标;
根据所述被跟踪点在世界坐标系中的坐标减去所述自身坐标系的原点在世界坐标系中的坐标,得到所述被跟踪点在所述自身坐标系的坐标;
将所述图形进行三维转换,并将每次的三维转换方式以矩阵的形式记录在所述矩阵数组中;
根据所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标、所述被跟踪点在所述自身坐标系的坐标和所述矩阵数组,计算出经三维转换后所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标以及所述被跟踪点在自身坐标系的坐标;
将所述经三维转换后被跟踪点在自身坐标系的坐标转换为所述被跟踪点在世界坐标系的坐标;
根据透视原理和图形相似原理,将所述被跟踪点在世界坐标系的坐标转换为所述被跟踪点在所述屏幕坐标系的坐标,所述被跟踪点在所述屏幕坐标系的坐标为被跟踪点在屏幕上投影位置的屏幕坐标。
本技术方案将三维转换方式以矩阵的形式记录在所述矩阵数组,从而将被跟踪点的坐标通过矩阵坐标计算的方法,得到经过三维转换后的被跟踪点在自身坐标系的坐标。用该计算过程重构了css原有的计算方法,解决了css原有的计算方法无法获取被跟踪点经三维变换后在自身坐标系的坐标的问题,通过前述计算过程同时得到了自身坐标系的轴向量经三维变换后在世界坐标系的坐标,以及自身坐标系的原点经三维变换后在世界坐标系的坐标。将前述计算结果的被跟踪点在自身坐标系的坐标和轴向量在世界坐标系的坐标以及原点在世界坐标系的坐标叠加得到被跟踪点在世界坐标系的坐标;最后根据透视原理和图形相似原理将被跟踪点在世界坐标系的坐标转换成屏幕坐标系得坐标。该技术方案通过将不同坐标得坐标换算、透视原理和几何原理巧妙得结合在一起,实现了对被跟踪点经三维转换后在屏幕投影位位置的定位。
进一步地,所述三维转换包括三维转换方式和三维转换次数,所述矩阵数组中的每个矩阵对应每次的三维转换方式,所述矩阵数组的长度对应三维转换次数。三维转换方式包括伸缩、平移、旋转和斜切,所述一次三维转换以前端代码的一次坐标计算为标准,是坐标计算的最小单位,所述一次三维转换只包括一种三维转换方式,如沿X轴平移5个单位,将以一个矩阵的形式记录在矩阵数组中,代表一次三维转换。
进一步地,所述三维转换方式包括伸缩、平移、旋转和斜切,并根据不同的所述三维转换方式采用不同的矩阵计算方法计算被跟踪点经过伸缩、平移、旋转和斜切转换后在所述自身坐标系的坐标。所述不同的矩阵计算方法具体为:
当所述三维转换方式为伸缩时,计算被跟踪点在自身坐标系的坐标,得到伸缩后被跟踪点在自身坐标系的坐标;
当所述三维转换方式为平移时,计算平移后的所述自身坐标系的原点在世界坐标系中的坐标,得到平移后所述自身坐标系的原点在世界坐标系中的坐标;
当所述三维转换方式为旋转时,计算旋转后的自身坐标系X,Y,Z坐标轴在世界坐标系下的轴向量,得到旋转后所述自身坐标系的坐标轴的轴向量在世界坐标系中的坐标;
当所述三维转换方式为斜切时,计算被跟踪点在自身坐标系的坐标,得到斜切后被跟踪点在自身坐标系的坐标。
该计算方法根据伸缩、平移、旋转和斜切时,投影点坐标变化的不同特点采取不同的方法进行计算,因此针对每一种具体的三维变化方式都是最优的计算方法,减少了不必要的计算,加快计算过程。
进一步地,所述三维转换次数为2次以上。本技术方案适用于对经多次三维转换后的图形上的跟踪点的投影位置的定位。
进一步地,根据所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标、所述被跟踪点在所述自身坐标系的坐标和所述矩阵数组,计算出经三维转换后被跟踪点在自身坐标系的坐标,具体过程为:
将三维转换前的自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标、所述被跟踪点在所述自身坐标系的坐标和所述矩阵数组中的矩阵依次进行递归计算直至所述矩阵数组的所有矩阵计算完毕,得到经三维转换后的所述原点在世界坐标系中的坐标、所述轴向量在世界坐标系中的坐标以及所述被跟踪点在自身坐标系的坐标。
所述递归计算中,每计算一次得到经过一次三维转换后的原点在世界坐标系中的坐标、坐标轴的轴向量在世界坐标系中的坐标以及被跟踪点在所述自身坐标系的坐标;当所述矩阵数组中的矩阵依次计算完毕时得到经过多次三维转换后的原点在世界坐标系中的坐标、坐标轴的轴向量在世界坐标系中的坐标以及被跟踪点在所述自身坐标系的坐标。
进一步地,将所述经三维转换后被跟踪点在自身坐标系的坐标转换为所述被跟踪点在世界坐标系的坐标,具体过程为:
以被跟踪点在自身坐标系的坐标为基础,将被跟踪点在自身坐标系的坐标在世界坐标系的各个方向轴上进行分量叠加,得到的叠加后的被跟踪点的坐标;
将叠加后的被跟踪点的坐标与经三维转换后的所述原点在世界坐标系中的坐标进行叠加,得到所述被跟踪点在世界坐标系的坐标。
所述被跟踪点在自身坐标系的坐标经过两次叠加计算得到所述被跟踪点在世界坐标系的坐标,所述两次叠加计算的叠加对象分别是前述步骤得到的经过多次三维转换后的坐标轴的轴向量在世界坐标系中的坐标和原点在世界坐标系中的坐标。
本发明采取的另一技术方案是,一种经三维转换后的跟踪点的投影位置计算系统,其特征在于,包括:
初始化模块,用于系统的初始化,所述初始化包括:构建世界坐标系和屏幕坐标系,在所述世界坐标系和屏幕坐标系中建立待三维转换的图形,所述图形有其自身坐标系,确定视觉的基础窗口和所述图形上的被跟踪点,定义用于存储三维转换信息的矩阵数组;
获取初始化坐标模块,用于所述基础窗口,确定未经三维转换时的自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标以及所述被跟踪点在世界坐标系中的坐标;
计算被跟踪点的坐标模块,用于根据所述被跟踪点在世界坐标系中的坐标减去所述自身坐标系的原点在世界坐标系中的坐标,得到所述被跟踪点在所述自身坐标系的坐标;
三维转换模块,用于将所述图形进行三维转换,并将每次的三维转换方式以矩阵的形式记录在所述矩阵数组中,所述三维转换包括三维转换方式和三维转换次数;
计算三维转换后的坐标模块,用于根据所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标、所述被跟踪点在所述自身坐标系的坐标和所述矩阵数组,计算出经三维转换后被跟踪点在自身坐标系的坐标;
转换成世界坐标系的坐标模块,用于将所述经三维转换后被跟踪点在自身坐标系的坐标转换为所述被跟踪点在世界坐标系的坐标;
转换成屏幕坐标系的坐标模块,用于根据透视原理和三角形相似原理,将所述被跟踪点在世界坐标系的坐标转换为所述被跟踪点在所述屏幕坐标系的坐标,所述被跟踪点在所述屏幕坐标系的坐标为被跟踪点在屏幕上投影位置的屏幕坐标。
所述一种经三维转换后的跟踪点的投影位置计算系统实现前述一种经三维转换后的跟踪点的投影位置计算方法。
与现有技术相比,本发明的有益效果为:本发明通过js计算得到经三维转换后新的被跟踪点位坐标,使得其他dom模块需要根据该点位样式定位的时候不受该点所在模块的样式干扰,可以更好的解藕不同模块之间的样式关系;输出的点位可以更好的计算变换后各点位之间的距离,对于可视化刻度标定和绘制有更好的效果。
附图说明
图1为本发明实施例的流程图。
图2为本发明实施例的投影原理图。
图3为背景技术基础窗口示意图。
图4为背景技术图形三维变换后的侧视图。
图5为背景技术图形三维变换后的主视图。
图6为本发明实施例的地图应用图。
图7为未采用本发明的地图应用图。
图8-17为本发明实施例的代码展示图。
附图标记说明:三维变换前的原矩形1,三维变换后的新矩形2,视觉的基础窗口3。
具体实施方式
本发明附图仅用于示例性说明,不能理解为对本发明的限制。为了更好说明以下实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
实施例1
如图1所示,本实施例一种经三维转换后的跟踪点的投影位置计算方法,包括:
S1.构建世界坐标系和屏幕坐标系,在所述世界坐标系和屏幕坐标系中建立待三维转换的图形,所述图形有其自身坐标系,确定视觉的基础窗口和所述图形上的被跟踪点,定义用于存储三维转换信息的矩阵数组。
更为具体地,以前端页面设置透视基准的dom节点内坐标体系为世界坐标系,以前端页面的dom节点范围内的屏幕范围为屏幕坐标体系,所述屏幕坐标系为二维状态下的世界坐标系。在计算机图形界面中确定视觉的基础窗口,并将构建好的待三维转换图形导入至计算机图形界面中,针对所述待三维转换图形构建基于css变换原理的自身坐标系;所述待三维转换图形具体为地图图形,如图6所示,所述地图图形上的城市标记点为所述被跟踪点,当地图图形发生三维变换后,无法计算更新城市标记点的坐标时,将会出现如图7所示的城市说明与城市所在地分离的情况。
所述定义用于存储三维转换信息的矩阵数组matrix3DArray,如图8所示,为适应矩阵数组matrix3DArray的数据保存形式,进而重构css原本的三维变换记录方法,将所述地图图形基于css的三维变换转换成矩阵的形式记录下来,对应方法名为lifecycle.matrixDic。
S2.根据所述基础窗口,确定未经三维转换时的自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标以及所述被跟踪点在世界坐标系中的坐标。
更为具体地,如图12所示,根据所述地图图形的坐标和大小,通过js语言的方法,获取自身坐标系的原点在世界坐标系中的坐标(对应变量名为origin)、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标(对应变量名为abs)以及所述被跟踪点在世界坐标系中的坐标(对应变量名为coord)。
S3.根据所述被跟踪点在世界坐标系中的坐标减去所述自身坐标系的原点在世界坐标系中的坐标,得到所述被跟踪点在所述自身坐标系的坐标。
更为具体地,如图13所示,所述被跟踪点在所述自身坐标系的坐标取变量名为rel,所述rel等于abs减去origin,具体的计算公式为图13中的标记14。
S4.将所述图形进行三维转换,并将每次的三维转换方式以矩阵的形式记录在所述矩阵数组中。
更为具体地,所述三维转换包括三维转换方式和三维转换次数,所述矩阵数组中的每个矩阵对应每次的三维转换方式,所述矩阵数组的长度对应三维转换次数,所述三维转换方式包括伸缩、平移、旋转和斜切。如图11所示,将每次的三维转换以type和value的组合形式存入cssArray数组中,一组type和value代表一次三维转换,在cssArray数组中存入多组type和value,将所述cssArray数组作为方法matrixDic的入参,经过方法matrixDic的换算(如图8-10所示),将所述三维转换方式转换成矩阵方式记录在矩阵数组matrix3DArray中。
S5.根据所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标、所述被跟踪点在所述自身坐标系的坐标和所述矩阵数组,计算出经三维转换后所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标以及所述被跟踪点在自身坐标系的坐标。
更为具体地,将三维转换前的自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标、所述被跟踪点在所述自身坐标系的坐标和所述矩阵数组中的矩阵依次进行递归循环计算直至所述矩阵数组的所有矩阵计算完毕,得到经三维转换后的所述原点在世界坐标系中的坐标、所述轴向量在世界坐标系中的坐标以及所述被跟踪点在自身坐标系的坐标。如图10-13所示,所述递归循环计算方法matrixTransformComputed,将参数origin、abs、rel、coord和矩阵数组matrix3DArray中的矩阵进行递归循环计算,每循环一次得到新的参数值,并将新的参数值重新赋值给origin、rel、coord得到newParam,再将newParam作为入参,再次执行方法matrixTransformComputed重复前面的计算过程,直到matrix3DArray中的矩阵计算完毕得到最终的newOrigin、newRel和newCoord,即经过三维转换后的新的所述自身坐标系的原点在世界坐标系中的坐标newOrigin、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标newCoord和所述被跟踪点在所述自身坐标系的坐标newRel。
更为具体地,将参数origin、abs、rel、coord和矩阵数组matrix3DArray中的矩阵进行递归循环计算的过程包括:
当所述三维转换方式matrix3DArray[i-1].type为伸缩scale时,计算被跟踪点的自身坐标系的坐标,得到本次伸缩后被跟踪点的自身坐标系的坐标newRel;
当所述三维转换方式matrix3DArray[i-1].type为平移translate时,计算平移后的所述自身坐标系的原点在世界坐标系中的坐标,得到本次平移后的所述自身坐标系的原点在世界坐标系中的坐标newOrigin;
当所述三维转换方式matrix3DArray[i-1].type为旋转rotate时,计算旋转后的自身坐标系X,Y,Z坐标轴在世界坐标系下的轴向量,得到本次旋转后所述自身坐标系的坐标轴的轴向量在世界坐标系中的坐标newCoord;
当所述三维转换方式matrix3DArray[i-1].type为斜切skew时,只计算被跟踪点的自身坐标系坐标,得到本次斜切后被跟踪点的自身坐标系的坐标newRel。
S6.将所述经三维转换后被跟踪点在自身坐标系的坐标转换为所述被跟踪点在世界坐标系的坐标。
S61.以被跟踪点在自身坐标系的坐标为基础,将被跟踪点在自身坐标系的坐标在世界坐标系的各个方向轴上进行分量叠加,得到的叠加后的被跟踪点的坐标;
S62.将叠加后的被跟踪点的坐标与经三维转换后的所述原点在世界坐标系中的坐标进行叠加,得到所述被跟踪点在世界坐标系的坐标newAbs;
如图16中的else分支所示,即将S5中得到的所述经过三维转换后的被跟踪点在所述自身坐标系的坐标newRel、和自身坐标系的坐标轴的轴向量在世界坐标系中的坐标newCoord相加后,再加上经过三维转换后的所述自身坐标系的原点在世界坐标系中的坐标newOrigin,得到所述被跟踪点在世界坐标系的坐标newAbs。
S7.根据透视原理和图形相似原理,将所述被跟踪点在世界坐标系的坐标转换为所述被跟踪点在所述屏幕坐标系的坐标,所述被跟踪点在所述屏幕坐标系的坐标为被跟踪点在屏幕上投影位置的屏幕坐标。
如图2所示,A点为设定三维透视人眼所在位置,T1为被跟踪点计算所得世界坐标系的位置,T2为人眼看到的被跟踪点的屏幕位置,因此AT2T1在一条直线上;找到T2、T1在平面XOZ上的投影点T2′、T1′(过T1′作Z轴和X轴的垂线,垂足分别为z1和x1),则点AT2′T1′也在同一条直线上,因此ΔAOT2′相似于ΔAz1T2′;T1坐标为(x1,y1,z1),T2坐标为(x1,y2,0)则根据三角形相似原理可得:
x2=OA/(OA+z1)*x1
y2=OA/(OA+z1)*y1
如图17所示,最终得到被跟踪点在屏幕上投影位置的屏幕坐标为:
newpos.x=per/(per+z)*x;
newpos.y=per/(per+z)*y;
本实施例通过js计算得到经三维转换后新的被跟踪点位坐标,使得其他dom模块需要根据该点位样式定位的时候不受该点所在模块的样式干扰,可以更好的解藕不同模块之间的样式关系;输出的点位可以更好的计算变换后各点位之间的距离,对于可视化刻度标定和绘制有更好的效果。
实施例2
本实施例一种经过三维转换的点投影位置计算系统,实现如实施例1所述的一种经过三维转换的点投影位置计算方法;所述经过三维转换的点投影位置计算系统包括:
初始化模块,用于系统的初始化,所述初始化包括:构建世界坐标系和屏幕坐标系,在所述世界坐标系和屏幕坐标系中建立待三维转换的图形,所述图形有其自身坐标系,确定视觉的基础窗口和所述图形上的被跟踪点,定义用于存储三维转换信息的矩阵数组;
获取初始化坐标模块,用于所述基础窗口,确定未经三维转换时的自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标以及所述被跟踪点在世界坐标系中的坐标;
计算被跟踪点的坐标模块,用于根据所述被跟踪点在世界坐标系中的坐标减去所述自身坐标系的原点在世界坐标系中的坐标,得到所述被跟踪点在所述自身坐标系的坐标;
三维转换模块,用于将所述图形进行三维转换,并将每次的三维转换方式以矩阵的形式记录在所述矩阵数组中,所述三维转换包括三维转换方式和三维转换次数;
计算三维转换后的坐标模块,用于根据所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标、所述被跟踪点在所述自身坐标系的坐标和所述矩阵数组,计算出经三维转换后被跟踪点在自身坐标系的坐标;
转换成世界坐标系的坐标模块,用于将所述经三维转换后被跟踪点在自身坐标系的坐标转换为所述被跟踪点在世界坐标系的坐标;
转换成屏幕坐标系的坐标模块,用于根据透视原理和三角形相似原理,将所述被跟踪点在世界坐标系的坐标转换为所述被跟踪点在所述屏幕坐标系的坐标,所述被跟踪点在所述屏幕坐标系的坐标为被跟踪点在屏幕上投影位置的屏幕坐标。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种经三维转换后的跟踪点的投影位置计算方法,其特征在于,包括:
构建世界坐标系和屏幕坐标系,在所述世界坐标系和屏幕坐标系中建立待三维转换的图形,所述图形有其自身坐标系,确定视觉的基础窗口和所述图形上的被跟踪点,定义用于存储三维转换信息的矩阵数组;
根据所述基础窗口,确定未经三维转换时的自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标以及所述被跟踪点在世界坐标系中的坐标;
根据所述被跟踪点在世界坐标系中的坐标减去所述自身坐标系的原点在世界坐标系中的坐标,得到所述被跟踪点在所述自身坐标系的坐标;
将所述图形进行三维转换,并将每次的三维转换方式以矩阵的形式记录在所述矩阵数组中;
根据所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标、所述被跟踪点在所述自身坐标系的坐标和所述矩阵数组,计算出经三维转换后所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标以及所述被跟踪点在自身坐标系的坐标;
将所述经三维转换后被跟踪点在自身坐标系的坐标转换为所述被跟踪点在世界坐标系的坐标;
根据透视原理和图形相似原理,将所述被跟踪点在世界坐标系的坐标转换为所述被跟踪点在所述屏幕坐标系的坐标,所述被跟踪点在所述屏幕坐标系的坐标为被跟踪点在屏幕上投影位置的屏幕坐标。
2.根据权利要求1所述的一种经三维转换后的跟踪点的投影位置计算方法,其特征在于,所述三维转换包括三维转换方式和三维转换次数,所述矩阵数组中的每个矩阵对应每次的三维转换方式,所述矩阵数组的长度对应三维转换次数。
3.根据权利要求2所述的一种经三维转换后的跟踪点的投影位置计算方法,其特征在于,所述三维转换方式包括伸缩、平移、旋转和斜切,并根据不同的所述三维转换方式采用不同的矩阵计算方法计算被跟踪点经过伸缩、平移、旋转和斜切转换后在所述自身坐标系的坐标。
4.根据权利要求3所述的一种经三维转换后的跟踪点的投影位置计算方法,其特征在于,所述不同的矩阵计算方法具体为:
当所述三维转换方式为伸缩时,计算被跟踪点在自身坐标系的坐标,得到伸缩后被跟踪点在自身坐标系的坐标;
当所述三维转换方式为平移时,计算平移后的所述自身坐标系的原点在世界坐标系中的坐标,得到平移后所述自身坐标系的原点在世界坐标系中的坐标;
当所述三维转换方式为旋转时,计算旋转后的自身坐标系X,Y,Z坐标轴在世界坐标系下的轴向量,得到旋转后所述自身坐标系的坐标轴的轴向量在世界坐标系中的坐标;
当所述三维转换方式为斜切时,计算被跟踪点在自身坐标系的坐标,得到斜切后被跟踪点在自身坐标系的坐标。
5.根据权利要求2至4任一项所述的一种经三维转换后的跟踪点的投影位置计算方法,其特征在于,所述三维转换次数为2次以上。
6.根据权利要求5所述的一种经三维转换后的跟踪点的投影位置计算方法,其特征在于,根据所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标、所述被跟踪点在所述自身坐标系的坐标和所述矩阵数组,计算出经三维转换后所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标以及所述被跟踪点在自身坐标系的坐标,具体过程为:
将三维转换前的自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标、所述被跟踪点在所述自身坐标系的坐标和所述矩阵数组中的矩阵依次进行递归计算直至所述矩阵数组的所有矩阵计算完毕,得到经三维转换后的所述原点在世界坐标系中的坐标、所述轴向量在世界坐标系中的坐标以及所述被跟踪点在自身坐标系的坐标。
7.根据权利要求6所述的一种经三维转换后的跟踪点的投影位置计算方法,其特征在于,将所述经三维转换后被跟踪点在自身坐标系的坐标转换为所述被跟踪点在世界坐标系的坐标,具体过程为:
以被跟踪点在自身坐标系的坐标为基础,将被跟踪点在自身坐标系的坐标在世界坐标系的各个方向轴上进行分量叠加,得到的叠加后的被跟踪点的坐标;
将叠加后的被跟踪点的坐标与经三维转换后的所述原点在世界坐标系中的坐标进行叠加,得到所述被跟踪点在世界坐标系的坐标。
8.一种经三维转换后的跟踪点的投影位置计算系统,其特征在于,包括:
初始化模块,用于系统的初始化,所述初始化包括:构建世界坐标系和屏幕坐标系,在所述世界坐标系和屏幕坐标系中建立待三维转换的图形,所述图形有其自身坐标系,确定视觉的基础窗口和所述图形上的被跟踪点,定义用于存储三维转换信息的矩阵数组;
获取初始化坐标模块,用于所述基础窗口,确定未经三维转换时的自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标以及所述被跟踪点在世界坐标系中的坐标;
计算被跟踪点的坐标模块,用于根据所述被跟踪点在世界坐标系中的坐标减去所述自身坐标系的原点在世界坐标系中的坐标,得到所述被跟踪点在所述自身坐标系的坐标;
三维转换模块,用于将所述图形进行三维转换,并将每次的三维转换方式以矩阵的形式记录在所述矩阵数组中,所述三维转换包括三维转换方式和三维转换次数;
计算三维转换后的坐标模块,用于根据所述自身坐标系的原点在世界坐标系中的坐标、自身坐标系的坐标轴的轴向量在世界坐标系中的坐标、所述被跟踪点在所述自身坐标系的坐标和所述矩阵数组,计算出经三维转换后被跟踪点在自身坐标系的坐标;
转换成世界坐标系的坐标模块,用于将所述经三维转换后被跟踪点在自身坐标系的坐标转换为所述被跟踪点在世界坐标系的坐标;
转换成屏幕坐标系的坐标模块,用于根据透视原理和三角形相似原理,将所述被跟踪点在世界坐标系的坐标转换为所述被跟踪点在所述屏幕坐标系的坐标,所述被跟踪点在所述屏幕坐标系的坐标为被跟踪点在屏幕上投影位置的屏幕坐标。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个指令;
处理器,执行所述存储器中存储的指令以实现如权利要求1-8中任一项所述的一种经三维转换后的跟踪点的投影位置计算方法或系统。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序可被一个或者多个处理器执行,以实现如权利要求1-8中任一种经三维转换后的跟踪点的投影位置计算方法或系统。
CN202011606321.8A 2020-12-30 2020-12-30 一种经三维转换后的跟踪点的投影位置计算方法及系统 Active CN112734628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011606321.8A CN112734628B (zh) 2020-12-30 2020-12-30 一种经三维转换后的跟踪点的投影位置计算方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011606321.8A CN112734628B (zh) 2020-12-30 2020-12-30 一种经三维转换后的跟踪点的投影位置计算方法及系统

Publications (2)

Publication Number Publication Date
CN112734628A true CN112734628A (zh) 2021-04-30
CN112734628B CN112734628B (zh) 2023-06-09

Family

ID=75611860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011606321.8A Active CN112734628B (zh) 2020-12-30 2020-12-30 一种经三维转换后的跟踪点的投影位置计算方法及系统

Country Status (1)

Country Link
CN (1) CN112734628B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113687823A (zh) * 2021-07-30 2021-11-23 稿定(厦门)科技有限公司 基于html的四边形区块非线性变换方法及其系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877139A (zh) * 2009-04-30 2010-11-03 爱国者全景(北京)网络科技发展有限公司 一种实现三维视频全景空间热点的方法和系统
CN101894393A (zh) * 2010-07-09 2010-11-24 北京水晶石数字科技有限公司 一种Flash热点在三维空间摆放的方法
CN102739998A (zh) * 2011-05-11 2012-10-17 新奥特(北京)视频技术有限公司 一种三维空间中空间变换的实现方法
CN103247072A (zh) * 2013-04-15 2013-08-14 青岛海信宽带多媒体技术有限公司 基于安卓系统实现三维旋转界面的方法及装置
CN107564089A (zh) * 2017-08-10 2018-01-09 腾讯科技(深圳)有限公司 三维图像处理方法、装置、存储介质和计算机设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877139A (zh) * 2009-04-30 2010-11-03 爱国者全景(北京)网络科技发展有限公司 一种实现三维视频全景空间热点的方法和系统
CN101894393A (zh) * 2010-07-09 2010-11-24 北京水晶石数字科技有限公司 一种Flash热点在三维空间摆放的方法
CN102739998A (zh) * 2011-05-11 2012-10-17 新奥特(北京)视频技术有限公司 一种三维空间中空间变换的实现方法
CN103247072A (zh) * 2013-04-15 2013-08-14 青岛海信宽带多媒体技术有限公司 基于安卓系统实现三维旋转界面的方法及装置
CN107564089A (zh) * 2017-08-10 2018-01-09 腾讯科技(深圳)有限公司 三维图像处理方法、装置、存储介质和计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李志华,徐静,张庆顺,王彬丽,王玉彩,马永强: "利用OpenGL实现屏幕坐标与世界坐标的相互变换", 河北建筑科技学院学报 *
赵洲;张恒;侯恩科;邓念东;张志华;: "三维地质界面模型交互式选择方法研究与实现", 西安科技大学学报 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113687823A (zh) * 2021-07-30 2021-11-23 稿定(厦门)科技有限公司 基于html的四边形区块非线性变换方法及其系统
CN113687823B (zh) * 2021-07-30 2023-08-01 稿定(厦门)科技有限公司 基于html的四边形区块非线性变换方法及其系统

Also Published As

Publication number Publication date
CN112734628B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
JP7403700B2 (ja) ホモグラフィ適合を介した完全畳み込み着目点検出および記述
CN108898630B (zh) 一种三维重建方法、装置、设备和存储介质
JP7337104B2 (ja) 拡張現実によるモデル動画多平面インタラクション方法、装置、デバイス及び記憶媒体
WO2018176958A1 (zh) 一种随图像中关键点移动的自适应贴图方法和系统
US20220148222A1 (en) Image three-dimensional measurement method, electronic device, storage medium and program product
Plankers et al. Articulated soft objects for video-based body modeling
CN111079565B (zh) 视图二维姿态模板的构建方法及识别方法、定位抓取系统
US20190272670A1 (en) Real-time hand modeling and tracking using convolution models
CN111275801A (zh) 一种三维画面渲染方法及装置
CN108655571A (zh) 一种数控激光雕刻机、控制系统及控制方法、计算机
Deng et al. Registration of multiple rgbd cameras via local rigid transformations
CN111681302A (zh) 一种3d虚拟形象的生成方法、装置、电子设备及存储介质
CN114863061A (zh) 一种远程监护医学图像处理的三维重建方法及系统
CN112734628A (zh) 一种经三维转换后的跟踪点的投影位置计算方法及系统
Hyeon et al. Automatic spatial template generation for realistic 3d modeling of large-scale indoor spaces
CN115164823A (zh) 一种摄像机陀螺仪信息的获取方法及设备
Li et al. Augmented reality registration method based on natural feature points
CN110827411B (zh) 自适应环境的增强现实模型显示方法、装置、设备及存储介质
CN116958450B (zh) 一种面向二维数据的人体三维重建方法
CN102110299A (zh) 在三维模型中应用畸变的投影方法及装置
CN111862287A (zh) 眼部纹理图像生成方法、纹理贴图方法、装置和电子设备
Xu et al. Texture-GS: Disentangling the Geometry and Texture for 3D Gaussian Splatting Editing
CN113470154B (zh) 图像处理方法、装置、电子设备及存储介质
Liu et al. Research on 3D point cloud model reconstruction method based on multi-kinects
CN116958332B (zh) 基于图像识别的纸张绘图实时映射3d模型的方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240423

Address after: Room 05, 27th Floor, Building 1, Guannan Fuxing Pharmaceutical Park, No. 58 Guanggu Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province, 430000 (Wuhan Area of Free Trade Zone)

Patentee after: Wuhan Anchenxin Information Technology Co.,Ltd.

Country or region after: China

Address before: 233 Kezhu Road, Guangzhou hi tech Industrial Development Zone, Guangdong 510670

Patentee before: VTRON GROUP Co.,Ltd.

Country or region before: China