温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
Babylon
js
zier
曲线
轨迹
设计
爱群
浙江科技学院学报,第 卷第期,年月 ,:收稿日期:基金项目:浙江科技学院研究生教学改革研究项目();浙江科技学院研究生科研创新基金()通信作者:徐爱群(),男,浙江省龙游人,教授,博士,主要从事微机电系统研究。:。基于 的阶 曲线轨迹设计徐爱群,王名宏(浙江科技学院 机械与能源工程学院,杭州 )摘要:【目的】为在 环境下实现三维物体任意运动轨迹的生成,给出一种三维物体阶 曲线运动轨迹的设计方法。【方法】首先根据 曲线的原理设计一种循环递归的插值计算方法,对任意中间控制点数的 曲线路径都可快速绘制;然后对比二阶、三阶及六阶 函数的实际绘制效果;最后在 的官方训练场中对物体其他阶次 曲线轨迹进行绘制和运动仿真,并对轨迹形状进行可视化交互设计与调整。【结果】试验中本文方法与传统方法的曲线轨迹重合,表明本文算法实现了阶 曲线轨迹的绘制;小球能绕所设计轨迹运动验证了本文方法在物体轨迹设计上的有效性;轨迹调整前后对比结果验证了本文方法可视化交互设计的可行性。【结论】本文方法能有效快速实现虚拟环境中的三维物体复杂运动路径的设计与生成,从而为采用 曲线来规划网页端三维物体的运动轨迹提供了一种新方法。关键词:;曲线;轨迹生成;可视化交互设计中图分类号:文献标志码:文章编号:(),(,):,;,;,;,;,:;随着网页技术和虚拟现实技术的快速发展,基于 技术进行网页端虚拟现实开发越来越流行。(,网络图形库)源于 (,嵌入式系统开放图形库)标准,可使用 (,超文本标记语言)的 元素作为(,文件对象模型)接口访问的一种实现 交互式三维图形渲染技术,具有无插件、跨平台、可直接驱动硬件加速等优势。因其上述优点受到广大厂商的支持,进一步衍生出一些优秀的渲染引擎,发展于 的 引擎因其强大的渲染功能已成为目前网页端虚拟现实开发选择的主流三维引擎,目前在 等三维虚拟引擎中实现物体运动轨迹的规划要考虑重力、摩擦力等物理条件,才能在视觉上体现三维物体运动的真实性,实现起来较困难,会受到很多因素的干扰与制约。为简单高效地实现三维物体复杂的曲线运动轨迹,可在虚拟引擎中使用 曲线提前绘制出合适的目标轨迹,再让物体沿此轨迹运动。在现实生活中,曲线已被运用于物体的路径规划中,等提出了一种基于 曲线的路径规划器,能形成最优避障路线,实现了汽车的防碰撞行为。杨彬等运用三阶 曲线对无人驾驶车辆起始点至终点之间的轨迹进行拟合,通过对 曲线控制点参数进行合理的赋值,可实现对拟合轨迹的局部调整。等 采用 曲线的路径规划模型,实现了对移动机器人的最优平滑路径规划。已有一些研究将 曲线应用于虚拟现实中,如孙晨阳 在虚拟现实中利用双三次 曲面和多边形对小麦各个器官进行建模,可以以低成本和较高的效率模拟小麦生长过程,模型表面光滑且可以实现小麦不同生长期的建模;等 将 曲线算法与三维物体的网格顶点相结合,实现对三维物体的杆件弯曲。综上所述,将 曲线运用于虚拟现实中三维物体的轨迹设计是可行的,但目前虚拟现实应用所涉及的曲线形状相对比较简单,只需通过固定阶次 曲线即可实现绘制,灵活性较弱,且在 技术上 曲线应用极少。通过物体运动原理及数学公式确定物体运动轨迹的方法给虚拟现实网页端开发人员的图形设计带来不便,其原因是:原理不易理解且参数过多;复杂无规律轨迹使用数学公式也难以快速描述,且轨迹调整需重新进行计算。而 曲线通过调节控制点的数量和位置就可快速完成轨迹的绘制与调整,故研究基于 引擎对复杂轨迹进行可视化设计并进行运动仿真很有必要。目前,环境中仅有二阶和三阶 曲线的实现方法,并没有设计任意阶次的实现方法。将 曲线灵活应用于 环境下的虚拟三维物体轨迹设计,需进行算法设计和 编程,以最终实现对三维物体运动轨迹的可视化交互控制。为此,我们设计了一种基于 的阶 曲线的绘制方法,可自定义中间控制点的数量和位置,从而实现三维物体复杂运动轨迹的绘制。曲线定义法国工程师 在 年提出了一种通过连接向量来表示曲线的方法,这样的曲线被称为 曲线。由于表达直观、结构简单,曲线是计算机辅助几何设计中表示曲线和曲面的重要工具,常被用来绘制复杂的图形形状 和模型样式。使用 曲线方法绘制曲线方便快速,只要给定曲线的起点和终点,然后通过调节中间点的数量及位置来控制曲率,就可得到目标曲线。在空间中给定个控制点,则阶 曲线可描述如下:(),(),。()第期徐爱群,等:基于 的阶 曲线轨迹设计式()中:为独立变量;,()为第个阶 多项式,()()。()曲线求导公式如下:(),(),(),()()。()方法的设计与实现 方法描述在绘制三维物体运动轨迹的实际应用中,针对不同需求往往需运用不同阶次的 曲线,开发者只需改变函数中的参数即可绘制不同阶次的曲线轨迹,目前在 环境中已实现二阶、三阶 曲线轨迹的绘制,并封装为接口供用户使用,但其他阶次 曲线还未实现。本研究给出一种阶 曲线运动轨迹自动生成方法,其核心思想是设计 函数来生成以各控制点位置为基础的 曲线轨迹;其解决思路是设计一种循环递归的计算方法来完成 曲线轨迹点的自动插值。首先,在基于 网页端开发中,在 环境下运用 语言进行程序编写,以此实现 函数的基本功能;然后,在起点、终点和中间控制点相同的情况下,比较 环境中采用 和 函数所生成的曲线与本文方法所生成的 曲线的一致性;再设计 方法让小球沿所生成曲线轨迹运动,验证三维物体在所生成轨迹上运动的可行性;最后,以 函数的曲线拟合功能为基础,通过鼠标操作控制点位置,实时更新曲线轨迹的形状,以完成曲线的可视化交互设计。函数设计使用 函数获取组成 曲线路径的插值线段点集合,它的参数为 (:,:)。表示由起点、终点和所有中间控制点组成的数组,表示通过多少个顶点来描述 曲线,这些点随式()中参数的变化依次均匀分布在 曲线的路径上。将式()进行变形:,()()()()()()()()()()(),(),()。()式()表明:阶 多项式是阶 多项式的线性组合,具有递归性。把式()代入式()展开得:(),()(),(),()(),()。()由此可推出 曲线的递推公式如下:();(),;(),。()式()、()中:为首个次 曲线迭代多项式;为第个次 曲线迭代多项式,。曲线递推计算公式可理解为每相邻两个控制点插值出新的控制点,相邻的两个新控制点再插值出新的控制点,循环次后得出最终的()插值点,下面对一阶、二阶、三阶 公式进行分析。对一阶 公式展开得()。()浙江科技学院学报第 卷对二阶 公式展开得()()。()逐级简化分解后得:();()();()。()对三阶 公式展开得()()()。()逐级简化分解后得:();()();();()();();()。()从一阶、二阶、三阶 曲线的逐级简化分解公式推导可以发现,这是一个逐级循环递归的过程,每经过一次循环计算,控制点将会减少一个,直到最后只剩个控制点,即可完成时刻阶插值点的计算。对阶 公式可利用计算机进行如下操作,先计算一阶的控制点(个),再计算二阶的控制点(个),经过 次逐级循环后计算 阶的控制点(个),最后第次循环计算出阶的控制点。方法的实现不同场景中不同阶次 曲线运动轨迹的使用都可通过以下步骤实现。首先,以循环递归的插值方法实现某一位置处插值点坐标值的求取;然后,根据所需精度,即插值点的数量,依次计算轨迹上所有插值点的坐标值,形成一个 曲线轨迹点集合;最后,设置三维物体的位置,使物体依次经过轨迹点集合中的每个点。阶 曲线算法流程如图所示。图阶 曲线算法流程 试验与对比分析在 环境下,使用 方法绘制 曲线。主第期徐爱群,等:基于 的阶 曲线轨迹设计要用于三维世界中线段的渲染,可在线段绘制时进行很多操作,比如设置宽度、颜色。在 环境下对比采用本文方法生成的阶 曲线与内置方法生成 曲线的一致性,来验证设计方法的正确性与稳定性。因为内置方法并没有实现阶 曲线的生成方法,只有 (二阶)和 (三阶)两种方法,所以本研究选择、时的阶 曲线生成方法与内置二阶、三阶进行对比;最后与经典六阶 曲线进行对比以验证本文方法高阶的有效性,为后续小球仿真试验做铺垫。对于三维空间中的一组顶点,方法可使相邻两个顶点之间渲染生成一条直线,当顶点数量较多时,可生成一条相对平滑的曲线。因此,将 方法计算出的曲线插值点坐标数组代入 中生成所需的目标曲线。二阶 曲线对比当 时,设置相同的顶点数和 曲线控制点集合,然后将本文 方法与内置 方法进行对比,为了有明显的视觉对比效果,设置了不一样的曲线样式。二阶 曲线试验参数见表。通过表的点集绘制生成二阶 曲线,本文 方法用绿色线条,内置 方法用一系列连续的点表示,二阶 曲线轨迹效果对比如图所示。表二阶 曲线试验参数 参数 顶点数个 起点坐标(,)(,)终点坐标(,)(,)控制点坐标(,)(,)图二阶 曲线轨迹效果对比 三阶 曲线对比当时,设置相同的顶点数和 曲线控制点集合,将本文 方法与内置 方法进行对比,三阶 曲线试验参数见表。通过表的点集绘制生成三阶 曲线,本文 方法用绿色线条,内置 方法用一系列连续的点,三阶 曲线轨迹效果对比如图所示。表三阶 曲线试验参数 参数 顶点数个 起点坐标(,)(,)终点坐标(,)(,)控制点坐标(,)(,)控制点坐标(,)(,)图三阶 曲线轨迹效果对比 高阶 曲线对比以为例,验证本文 方法对高阶 曲线生成的有效性。由式()可得出六阶浙江科技学院学报第 卷 曲线计算公式如下:(),(),。()以式()为理论基础,可实现经典的六阶 曲线拟合算法,绘制函数为 。设置相同的顶点数和 曲线控制点集合,与本文 方法进行对比,六阶 曲线试验参数见表。通过表的点集绘制生成六阶 曲线,本文 方法用绿色线条,方法用一系列连续的点,六阶 曲线轨迹效果对比如图所示。表六阶 曲线试验参数 参数 顶点数个 起点坐标(,)(,)终点坐标(,)(,)控制点坐标(,)(,)控制点坐标(,)(,)控制点坐标(,)(,)控制点坐标(,)(,)控制点坐标(,)(,)图六阶 曲线轨迹效果对比 试验对比结果在起点、终点、中间控制点一致的情况下,环境下本研究 曲线形成方法与经典二、三阶和六阶 曲线算法所形成的运动轨迹完全重合,验证了本研究阶 曲线形成方法在低阶和高阶上的有效性,从而为下一阶段小球沿阶 曲线轨迹运动仿真试验与曲线形状可视化交互设计打下基础。仿真试验 仿真试验设计在 环境中设计 方法使小球沿所形成的 高阶曲线路径运动,方法能改变物体的三维坐标,如果此方法刷新较快的话,就会在视觉上形成物体移动的效果。由式()()可知,阶数越高,则曲线上各点的可导阶数更高,曲线连续性更强,曲线更光滑,物体的运动视觉效果肯定更好,但要调整的点比较多;因此,可针对不同情况采取合适的阶次,在需要光滑度较高的地方可采用高阶次 曲线设计,精度要求不高的地方可采取低阶 曲线设计。为实现不同高阶的小球模拟和可视化操作效果,在此通过 方法生成一个由两段高阶 曲线组成的小球轨迹图,第一段为五阶,第二段为六阶,然后让小球沿此路径移动,观察小球是否能沿此路线运动。首先设置每段的起点和终点坐标,为实现连续运动,让第一段的终点和第二段的起点坐标相同,第一段设计个中间控制点,第二段设计个中间控制点的位置坐标,小球 曲线表小球 曲线试验参数 参数第一段(五阶)第二段(六阶)顶点数个 起点坐标(,)(,)终点坐标(,)(,)控制点坐标(,)(,)控制点坐标(,)(,)控制点坐标(,)(,)控制点坐标(,)(,)控制点坐标(,)试验参数见表。首先通过本文方法拟合出一条三维弯曲轨道;然后在 的 中运用 组件方法使小球沿所形成的 高阶曲线路径运动;最后设计曲线轨迹的调整控制方法,当鼠标光标位于某个控制小球上方时,就会触发该控制点的三维坐标轴,长按鼠标左键选取某个轴就可对该轴方向的控制点坐标进行调整,松开鼠标左键时根据新的控制点坐标计算出新的 曲线轨迹点,绘制出新的三维轨迹。第期徐爱群,等:基于 的阶 曲线轨迹设计图小球的高阶 曲线运动轨迹 通过表中的第一段控制点、和第二段控制点、成功绘制小球的高阶 曲线运动轨迹,如图所示,也通过 方法成功实现了两段小球