一种三维动态几何系统中视角变换方法技术方案

技术编号:27058655 阅读:19 留言:0更新日期:2021-01-15 14:37
一种三维动态几何系统中视角变换方法,包括如下步骤:S1将开机默认显示的屏幕坐标系转换为标准坐标系;S2构建三维的世界坐标系,所述世界坐标系的XOY面平行于屏幕,并设定世界坐标系的XOY面与屏幕之间的距离;且世界坐标系原点与标准坐标系原点连线垂直于屏幕;所述世界坐标系的Z轴垂直于屏幕;将相机置于世界坐标系中;S3:在世界坐标系中构建三维系统坐标系,在所述三维系统坐标系中绘制三维几何图形,并通过系统坐标系原点改变,对三维几何图形的屏幕视角进行改变。本发明专利技术通过拖拽系统坐标系的原点实现系统坐标系的屏幕上拖动,且视角的旋转与场景深度缩放始终以三维的系统坐标系原点为中心,便于在教学中展示坐标系变换效果。

【技术实现步骤摘要】
一种三维动态几何系统中视角变换方法
本专利技术属于教育
,涉及几何教学软件,具体涉及一种三维动态几何系统中视角变换方法。
技术介绍
动态几何系统是面向基础数学教育的教学辅助系统,在该系统中可以在保持几何与约束代数关系的前提下,为教师和学生提供交互式的操作环境。以其直观、动态等特点受到广泛应用。目前常见的为平面动态几何系统。三维动态几何系统比较少见,在技术上更具有挑战性,且对与教学辅助更为重要。在三维动态系统中,最基础的问题即为如何构建合理的全局坐标系变换,以满足教学习惯与要求,实现从不同角度观察空间几何体。用以改变用户视角从多角度观察三维空间的现有技术为:确定三维空间中的坐标系(一般为右手坐标系)保持不变,通过用户交互改变虚拟相机的位置、朝向、法向等参数,实现用户视角的变换。具体为:1.将相机视点固定为三维空间坐标系原点;2.以相机围绕视点转动,实现用户视角对空间的转动;3.以相机相对于视点调整距离,实现用户视角对空间的缩放。将相机视点固定为三维坐标系原点,不利于对三维坐标系进行视角上的平移操作。即在该方案中,三维坐标系原点不能移动,在视觉上始终保持在屏幕中心;且移动后对视角的变换(旋转、缩放)在视觉上仍然相对于屏幕中心,无法满足教学资源布局与操作的需要。
技术实现思路
为克服现有技术存在的缺陷,本专利技术公开了一种三维动态几何系统中视角变换方法。本专利技术所述三维动态几何系统中视角变换方法,包括如下步骤:S1将开机默认显示的屏幕坐标系转换为标准坐标系;所述屏幕坐标系和标准坐标系均为位于屏幕所在平面内的二维坐标系;S2构建三维的世界坐标系,所述世界坐标系的XOY面平行于屏幕,并设定世界坐标系的XOY面与屏幕之间的距离;且世界坐标系原点与标准坐标系原点连线垂直于屏幕;所述世界坐标系的Z轴垂直于屏幕;将相机置于世界坐标系中并保持位置不变;S3在世界坐标系中构建三维系统坐标系,在所述三维系统坐标系中绘制三维几何图形,并通过系统坐标系原点改变,对三维几何图形的屏幕视角进行改变。优选的,所述标准坐标系原点为屏幕几何中心。优选的,所述步骤S3中系统坐标系内任意点A在系统坐标系原点变化时的转化方式如下:S31计算拍摄角度向量DR2:DR2=unproject(DR1,C)-OG其中C表示相机在标准坐标系中的坐标,OG表示世界坐标系中相机到原点的向量,DR1为标准坐标系下A点到原点的向量,S32拍摄角度单位向量:e=DR2/|DR2|,||表示取模。S33;计算OG与e两向量夹角cos(θ)=OG·e/|OG|·|e|由此可算出相机位置沿着向量e到世界坐标系XOY平面的距离长度dis为:dis=cos(θ)·|OG|进一步计算向量e到世界坐标系XOY平面的交点Inter=OG+dis·eInter即为A点在世界坐标系中的坐标(gx,gy,gz)。优选的,所述方法中,还包括对系统坐标系的旋转,具体为;移动鼠标,根据鼠标位移进行坐标系旋转,首先将鼠标移动的垂直分量转换为系统坐标系绕世界坐标系的y轴旋转角度;再将鼠标移动的水平分量转换为系统坐标系XOY平面绕系统坐标系自身的z轴旋转角度。优选的,所述方法中,还包括对系统坐标系缩放比例的调整,具体为滚动鼠标,根据鼠标滚动的距离得到一个缩放比例;更改系统坐标系的缩放后的值为当前世界坐标系的值除以该缩放比例且缩放中心为三维系统坐标系的坐标原点。本专利技术通过拖拽系统坐标系的原点实现系统坐标系在屏幕上拖动,通过拖拽屏幕空白处修改系统坐标系旋转角度实现视角改变,通过鼠标滚轮对系统坐标系进行缩放达到场景深度的缩放,且视角的旋转与场景深度缩放始终以三维的系统坐标系原点为中心,便于在教学中展示坐标系变换效果。附图说明图1为本专利技术所述屏幕坐标系的一个具体实施方式示意图;图2为本专利技术所述标准坐标系的一个具体实施方式示意图;图3为本专利技术所述世界坐标系的一个具体实施方式示意图;图4为本专利技术中旋转系统坐标系的一个具体实施方式示意图;图5为本专利技术中旋转系统坐标系的又一个具体实施方式示意图;图6为本专利技术中旋转系统坐标系的又一个具体实施方式示意图。具体实施方式下面对本专利技术的具体实施方式作进一步的详细说明。本专利技术所述三维动态几何系统中视角变换方法,包括如下步骤:S1将开机默认显示的屏幕坐标系转换为标准坐标系;所述屏幕坐标系和标准坐标系均为位于屏幕所在平面内的二维坐标系;S2构建三维的世界坐标系,所述世界坐标系的XOY面平行于屏幕,并设定世界坐标系的XOY面与屏幕之间的距离;且世界坐标系原点与标准坐标系原点连线垂直于屏幕;所述世界坐标系的Z轴垂直于屏幕;将相机置于世界坐标系中并保持位置不变;S3在世界坐标系中构建三维系统坐标系,在所述三维系统坐标系中绘制三维几何图形,并通过系统坐标系原点改变,对三维几何图形的屏幕视角进行改变。本专利技术中将相机位置固定,通过缩放、平移、旋转系统坐标系的方式更新系统坐标系的位置。变换系统坐标系包含以下几个要素:相机:用于将三维空间投影到二维屏幕,视点始终为世界坐标系的原点,投影到屏幕的中心;本方案将相机位置固定于世界坐标系z轴正方向,且让世界坐标系的x轴负方向位于屏幕向上,相机位置在世界坐标系中位置为:(0,0,cameraZ)。世界坐标系:用户实际使用的三维坐标系;用户自定义图形:用户创建的三维几何图形,放置于系统坐标系中;一个具体操作过程为:将屏幕坐标系中的屏幕坐标(Sx,Sy)转换为标准坐标系中的标准坐标(x,y),假设标准坐标系的原点为屏幕几何中心,屏幕的宽度和高度均定义为标准坐标系中的2,即屏幕四个顶点在世界坐标系中的坐标值分别为(1,1)、(1,-1)、(-1,1)、(-1,-1);屏幕坐标与标准坐标的关系如图1和图2:由图1和图2的具体实施方式,屏幕坐标系中的屏幕坐标到标准坐标系中的标准坐标的转化公式为:其中width为屏幕宽度,height为屏幕高度.构建三维的世界坐标系,所述世界坐标系的XOY面平行于屏幕,并设定世界坐标系的XOY面与屏幕之间的距离;且世界坐标系原点与标准坐标系原点连线垂直于屏幕;所述世界坐标系的Z轴垂直于屏幕;S3在世界坐标系中构建三维系统坐标系,在所述三维系统坐标系中绘制三维几何图形,并通过系统坐标系原点改变,对三维几何图形的屏幕视角进行改变。如图3所示,相机的观测深度实际是随相机视角变化而变化,在相机垂直于屏幕观测时,相机观测深度最深,相机倾斜观测时,能透过屏幕观测到的深度受屏幕物理大小限制。图3中位于上方的较小矩形表示屏幕和位于屏幕的标准坐标系;位于下方的较大矩形表示世界坐标系的XOY平面,图3中的Z轴为世界坐标系本文档来自技高网...

【技术保护点】
1.一种三维动态几何系统中视角变换方法,其特征在于,包括如下步骤:/nS1将开机默认显示的屏幕坐标系转换为标准坐标系;/n所述屏幕坐标系和标准坐标系均为位于屏幕所在平面内的二维坐标系;/nS2构建三维的世界坐标系,所述世界坐标系的XOY面平行于屏幕,并设定世界坐标系的XOY面与屏幕之间的距离;且世界坐标系原点与标准坐标系原点连线垂直于屏幕;所述世界坐标系的Z轴垂直于屏幕;将相机置于世界坐标系中并保持位置不变;/nS3在世界坐标系中构建三维系统坐标系,在所述三维系统坐标系中绘制三维几何图形,并通过系统坐标系原点改变,对三维几何图形的屏幕视角进行改变。/n

【技术特征摘要】
1.一种三维动态几何系统中视角变换方法,其特征在于,包括如下步骤:
S1将开机默认显示的屏幕坐标系转换为标准坐标系;
所述屏幕坐标系和标准坐标系均为位于屏幕所在平面内的二维坐标系;
S2构建三维的世界坐标系,所述世界坐标系的XOY面平行于屏幕,并设定世界坐标系的XOY面与屏幕之间的距离;且世界坐标系原点与标准坐标系原点连线垂直于屏幕;所述世界坐标系的Z轴垂直于屏幕;将相机置于世界坐标系中并保持位置不变;
S3在世界坐标系中构建三维系统坐标系,在所述三维系统坐标系中绘制三维几何图形,并通过系统坐标系原点改变,对三维几何图形的屏幕视角进行改变。


2.如权利要求1所述的三维动态几何系统中视角变换方法,其特征在于,所述标准坐标系原点为屏幕几何中心。


3.如权利要求1所述的三维动态几何系统中视角变换方法,其特征在于,所述步骤S3中系统坐标系内任意点A在系统坐标系原点变化时的转化方式如下:
S31计算拍摄角度向量DR2:
DR2=unproject(DR1,C)-OG
其中C表示相机在标准坐标系中的坐标,OG表示世界坐标系中相机到原点的向量,DR1为标准坐标系下A点到原点的向量,...

【专利技术属性】
技术研发人员:冯清管皓尧刚杨承云张景中饶永生秦小林
申请(专利权)人:成都景中教育软件有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1