一种基于参数的三维图形动态投影实现方法
文献发布时间:2023-06-19 09:40:06
技术领域
本发明涉及教育技术领域,涉及教学软件,具体涉及一种基于参数的三维图形动态投影实现方法。
背景技术
动态地拖动几何图形中的自由点来生动地得到几何图形维持约束关系的动态过程,从而更好的了解几何图形中所蕴含的几何性质,具备这样特点的系统被称为动态几何。动态几何是几何约束求解的重要应用,被广泛应用于教学辅助中,是深入基础数学学科的教育信息化工具。有研究表明,利用动态几何软件可交互性的特点,可有效降低学生学习过程中的认知负荷,提高学习效果。
三维动态几何软件是面向教育的立体几何教学辅助软件,使用该类软件进行辅助教学,可直观地建立真实的三维空间与立体图形,降低学生在学习过程中的思考难度,对于学生建立空间图形提升空间思维能力具有显著作用。国内外常用的三维动态几何软件有:英壬画板(inRm3D)、Cabri-3D、GeoGebra、网络画板(Netpad)等。
在立体几何中,三维图形投影到指定平面或是曲面是教学的难点,不能通过动态连续的展示,使学生清楚直观的了解投影概念以及投影面变化对投影形状的影响。现有几何软件只能给三维几何图形投影的静态结果,无法动态地展示投影过程,限制了三维动态几何系统的使用效果与应用范围。
发明内容
为克服现有技术存在的缺陷,本发明公开了一种基于参数的三维图形动态投影实现方法。
本发明所述一种基于参数的三维图形动态投影实现方法,其特征在于,包括如下步骤:
S1将被投影几何体分割为多个离散点Pi;
S2设置投影面和光源;
S3将被投影几何体通过光源在投影面上的投影形状展示;
所述展示过程包括投影率变化时投影形状的跟随变化;Pi为被投影几何体上的离散点,Interi为被投影几何体上的点Pi通过光源在投影面上的最终投影点;
则在投影率λ变化时,对应显示的中间投影点
Ei = Pi + λ·Interi。
优选的:所述光源为点光源或平行光源;
光源为点光源时,则对点光源Plight 到 Pi 构造射线ri;
光源为平行光源时,则以Pi 为起点,按平行光方向构造射线ri;
射线ri与投影面计算交点,交点做为最终投影点Interi,并与相应的Pi,构成有向线段(Pi, Interi);所述中间投影点Ei位于该有向线段上。
优选的:所述被投影几何体为三维立体形状。
优选的:所述投影率λ定义范围为[0,1]。
优选的:所述Pi为被投影几何体上位于表面或边界的顶点。
优选的,所述投影率λ的变化由显示屏幕上的拖动条控制。
优选的,所述投影面为平面或曲面。
本发明通过投影率的参数赋值的进行连续修改,可动态展示三维图形按照光线传播方向的投影到指定平面的中间过程,形成连续的投影动画。拓展了三维动态几何系统的投影变换功能及应用范围。
附图说明
图1为本发明在点光源下投影的一个具体实施方式示意图;
图2为本发明在平行光源下投影的一个具体实施方式示意图。
具体实施方式
下面结合具体实施例来进一步描述本发明,但实施例仅是范例性的,并不对本发明的范围构成任何限制。本领域技术人员应该理解的是,在不偏离本发明的精神和范围下可以对本发明技术方案的细节和形式进行修改或替换,但这些修改和替换均落入本发明的保护范围内。
本发明所述基于参数的三维图形动态投影实现方法,包括如下步骤:
S1将被投影几何体分割为多个离散点Pi;
被投影几何体一般是平面或立体图形,如正方形、圆形、立方体、球体等,也可以是点、直线、曲线、曲面和其他多面体。
被投影几何体分割为离散点时,一般取平面图形的边界点,三维立体形状的表面点,对于规则的几何体,为简化运算,可以只取顶点,例如立方体的八个顶点。
离散点数量越多,投影图形越完整,但计算量增大,可以根据教学需要和系统硬件条件设置离散点分割数量。
S2设置投影面和光源;
投影面可以是平面,也可以是曲面;光源可以为点光源,也可以为平行光源。
所述步骤S1 和S2 的设置过程通常基于三轴坐标系进行,为简化运算,在投影面为平面时,优选将 投影面设置为XOY面,在光源为点光源时,优选将点光源与投影面的垂线设置为Z轴。
对于被投影几何体,将其分割为多个位于几何体边界或表面的离散点,每一离散点及点光源的位置以三轴坐标系中的XYZ坐标确定,对于平行光源,以平行光源在三轴坐标系中的斜率定义光源方向。
S3将被投影几何体通过光源在投影面上的投影形状展示;
所述展示过程包括投影率变化时投影形状的跟随变化;Pi为被投影几何体上的离散点,Interi为被投影几何体上的点Pi通过光源在投影面上的最终投影点;
则在投影率λ变化时,对应显示的中间投影点
Ei = Pi + λ·Interi。
以如图1所示的点光源投影一个圆形为例,投影面为平面,以投影面所在平面建立XOY坐标,并垂直于投影面平面设定Z轴。
将圆形的被投影几何体分割成多个离散点,例如可以在圆周上每1度圆心角间隔取一个离散点,将圆周分割成359个离散点,及圆心点合计360个离散点。
对每一离散点Pi,i=1,2…360;以其与点光源Plight连线构造射线ri,二射线延伸至投影面即XOY平面,交点即为Pi点对应的最终投影点Interi。
如图2所示,对于平行光源,则以通过离散点Pi的按平行光方向构造射线ri,射线ri与投影面交点即为Pi点对应的最终投影点Interi;
本发明中,为更好的展示投影过程,设置中间投影点概念Ei = Pi + λ·Interi,通过参数投影率λ的变化,显示从被投影几何体所处位置到投影面的中间区域投影图像的变化过程。
在投影率λ变化时,对应显示的中间投影点
Ei = Pi + λ·Interi。
如图1所示,展示出多个(图1中给出两个)从被投影几何体所处位置到投影面的中间区域投影图像的中间态。多个中间投影点组合形成中间态图形。
投影率λ定义范围优选设置在闭合区间[0,1]内;当为0时,投影图形与 被投影几何体完全重合;当为1时,投影图形完全位于投影面内。
本发明一般通过显示器等显示,如图1所示,在教学过程中,所述投影率λ的变化可以由教师拖动显示屏幕上的拖动条控制,给学生展示一个完整的投影过程。可以看出,对于点光源,随着投影率λ的变化,投影的中间态图形的边界和方向均在持续变化,并逐渐接近最终位于投影面上的最终图形。
一个更具体的实施方式为:
构造光源射线具体为:
如果为透视投影,将点光源记为Plight , 被投影图形离散化后的点集记为 P = {Pi| i = 0 ,1 ,2 , … , n};则对点光射线为Plight 到 Pi 构造的射线ri;如果为平行投影,则以Pi 为起点,按平行光方向构造射线ri;
射线ri与投影平面ProjPlane计算得交点Interi,并与相应的Pi,构成有向线段(Pi,Interi);
将上述步骤所得的有向线段组合为有向线段集:
S = {(Pi , Interi) | i = 0, 1, 2, … , n };
根据投影率λ计算并获得投影点集具体为:
E = {Ei | Ei = Pi + λ·Interi, i = 0, 1, 2, … , n},对每一个不同的投影率λ,都有一个对应的投影点集。
本发明通过投影率的参数赋值的进行连续修改,可动态展示三维图形按照光线传播方向的投影到指定平面的中间过程,形成连续的投影动画。拓展了三维动态几何系统的投影变换功能及应用范围。
以上为本发明的一种实施方式,其描述较为具体和详细,但不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明的构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
- 一种基于参数的三维图形动态投影实现方法
- 一种基于参数的动态几何三维图形切割实现方法