OpenGL绘图辅助的材料最优性能点的确定外文翻译资料

 2022-10-31 14:25:00

英语原文共 37 页,剩余内容已隐藏,支付完成后下载完整资料


摘要

一种交互式实施,用于构建和分析平面五角形毕达哥拉斯 - 已经开发了基于Microsoft Foundation Class(MFC)库和Open Graphics Library(OpenGL))的hodograph(PH)曲线。 特殊的代数结构PH曲线允许关键属性,如弧长,弹性弯曲能和偏移曲线,要精确计算。 用于构建平面PH曲线的算法,以及计算其关键属性,已被实现为C函数。 使用复合体平面PH曲线的表示极大地促进了这些实现。 在Windows中使用C 开发了交互式构建和分析功能环境。 从用户输入的点数据可用于定义单个平面PH五阶段作为一阶Hermite内插,或开或闭C2PH五次样条在平面内插N 1个点的序列。

1.前言

可以通过向量值函数r(t)=参数来指定平面曲线(x(t),y(t))。 理想情况下,参数为累积弧长沿曲线,从一些固定点测量。 然而,这是不可能的通过其弧的合理函数来参数化除直线以外的任何平面曲线长度。 对于合理的电弧长度参数化的不可能理想有一些进展可以通过考虑其参数速度sigma;= ds / dt-

电弧长度相对于参数的变化率是多项式或合理的功能。

这是毕达哥拉山脉(PH)曲线,多项式曲线的独特特征其归一化(衍生)r(t)=(x(t),y(t))具有满足毕达哥拉斯条件

(1) x′2(t) y′2(t) = sigma;2(t)

对于一些多项式sigma;(t)。 与普通多项式曲线相比,该属性赋予了具有许多计算优点的PH曲线。 例如,任何段tisin;[t0,t1]的弧长,可以精确地计算,并且偏移曲线(在法线方向上固定的距离)承认确切的理性参数。 PH曲线的这些性质在实际应用中非常有用,如计算机辅助设计和制造,机器人,动画和运动控制。

本论文基于复杂的表示,描述了一套用于构建,分析和操纵平面PH曲线的基本算法的实现。在每种情况下提供适当的参考,因此读者可以查阅完整的推导和计算细节。 还开发了交互式实现,允许平面PH曲线的实时分析和修改。 主要功能接口显示了代码的组成部分,并对输入和输出规范进行了说明。

近年来,PH曲线已经在不同的环境中得到应用,如实时性用于计算机数控(CNC)机器的插值算法[21,22,32,35];动画和机器人的空间刚体运动设计[18,19]; 基于视觉的运动追踪系统[4]; 移动机器人路径规划[3]和协作路径规划无人机[41,44,45,46]; 从中轴重建平面形状转换[6,37,38]; 和艺术或美学设计[36]。 希望这个互动实施将鼓励在广泛的应用中进一步使用。

本论文的组织如下。 第2章回顾了平面PH曲线的复杂表示,并描述了其在系统的配置和解决方案中的应用

二次方程定义了单个PH的五次Hermite内插和C2PH五阶花键内插。 然后讨论这些曲线的基本属性的分析在第3章中,包括参数速度和弧长多项式,单位切线,正常和曲率,弹性弯曲能和偏移曲线。 最后,第4章提出了这些算法的交互式实现,而第5章总结了这些算法关键功能和潜在应用的软件。

2.平面PH五次曲线的构造

2.1。 复杂表示

我们关注gcd(x(t),y(t))=常数的原始PH曲线。 然后一个充足和

满足(1)的必要条件是x(t),y(t)应该是可表达的相对主要的实数多项式u(t),v(t)

x(t)= u2(t)-v2(t),y(t)= 2u(t)v(t)

因此sigma;(t)= u2(t) v2(t)。 复杂的表示[9]简洁地体现了这一点结构体。 关于平面曲线作为实数的复值函数r(t)= x(t) i y(t)参数t [50],PH曲线是其导数对应于完美曲线的曲线复数多项式w(t)= u(t) i v(t)的平方r(t)= w2(t)与gcd(u(t),v(t))=不变。

给定degree-m复多项式

(2)w(t)= u(t) i v(t)=mSigma;k= wk(mk)(1-t)m-ktk

对于k = 0,Bernstein1系数wk = uk i vk。。。 ,m,度n =的PH曲线

通过积分r(t)= w2(t)获得2m 1。 控制点p0,。。。 ,pn在Bezier表示

r(t)=nSigma;k= pk(nk)(1-t)n-kt

该PH曲线完全由复数值w0,...确定。。。 ,wm(p0为任意积分常数)

  1. 直线是一个PH曲线,对应于选择w(t)=常数。最简单的非平凡PH曲线是由线性多项式w(t)指定的立方体。该PH立方体可以通过简单的几何约束来表征其Bezier控制多边形[29],并且对应于唯一的缩放,旋转和重新参数化的段曲线 - Tschirnhaus立方体。

由于PH立方体具有有限的形状自由度,因此我们专注于PH值,可能会折射和内插的最低阶PH曲线一阶Hermite数据。 选择二次多项式

(3)w(t):= w0(1-t)2 w12(1-t)t w2t2

并且将r(t)= w2(t)进行积分,可以发现控制点指定PH值的形式

复杂的表示大大简化了平面PH的许多基本算法曲线,并在此系统使用。 定义单个PH五分段的数据是封装在以下C结构体中。

struct PHquintic {

complex p[6] ; /* Bezier control points of PH quintic */

complex w[3] ; /* Bernstein coefficients of w(t) polynomial */

double sigma[5] ; /* parametric speed Bernstein coefficients */

double s[6] ; /* arc length Bernstein coefficients */

} ;

这里复数列p [6]和w [3]存储控制点p0,。。。 ,p5和系数(3)的w0,w1,w2,而实数组sigma [5]和s [6]存储参数速度和弧长多项式的系数(见第3节)。 这个定义是冗余的,因为可以从p0和w0,w1,w2alone重构其他数据。 然而,预先计算和存储PHquintic结构的全部内容可以保存在其定义的PH值的后续使用中付出了相当大的努力。

2.2一阶Hermite内插器

一阶Hermite插值问题需要建立一个PH值t(t),tisin;[0,1]与规定的初始和最终点和导数:r(0)= pi,r(0)= dir(1)= pf,r(1)= df。在将(3)代入r(t)= w2(t)中,结束的插值衍生产量

此外,将r(t)= w2(t)与r(0)= pi进行积分得到等式

其中Delta;p:= pf-pi。写入di = di exp(iphi;i)和df = df exp(iphi;f),等式

具有解决方案

其中eta;0=plusmn;1,eta;2=plusmn;1。关于(6)作为二次方程

它有解决方案

其中eta;1=plusmn;1。数量eta;0,eta;1,eta;2反映了三个独立的符号选择

解决方案,所以可能会有八个不同的曲线。然而,如果w0,w1,w2是任何特定的解,而-w0,-w1,-w2也是一个解决方案,定义完全相同的曲线。因此,

一般只有四种不同的内插器,可以通过选择产生eta;1= 1,并执行由eta;0=plusmn;1和eta;2=plusmn;1表示的四个符号组合。

选择标识“好”的eta;0,eta;2组合的一些策略已经提出了Hermite内插器,包括最小化绝对旋转指数[26]; 与“普通”立方内插相比,没有反平行切线

[39]; 并分析了由hodographs形成的闭环的绕组数PH值为“普通”立方[5]。 这里我们采用简单的选择策略四种可能的解决方案,数量最少的情况。

如果w = 0表达式(3)实际上定义了一个升高的线性多项式,而不是

一个真正的二次方,所以r(t)是一个PH立方而不是一个五次。 对于一般Hermite数据,(9)的最小化在四个PH五元插值剂中识别曲线“最接近”一个PH立方(并因此具有最小倾向的极端曲率或不期望的“循环”行为)

一旦确定了w0,w1,w2的值,则PH的控制点是五分之一(4)计算Hermite内插。 注意,由于p1 = p0 1 5 r(0)和p4 =p5 - 1 5 r(1),可以将该问题的输入视为指定初始和最终对控制点 - p0,p1和p4,p5 - 算法“填充”控制点p2,p3,以产生PH值。 这种解释提供了一种控制多边形方法构建PH五项(见图1)。 因为它可能比指定更直观终端衍生品,我们在实施中采用。

构建单个PH五段的函数的格式如下。复变量p0,p1,p4,p5将初始和最终的控制点对传递给函数,并且在结构曲线中返回定义构造的PH值的数据。

void construct PHquintic( complex double p0 ,

complex double p1 ,

complex double p4 ,

complex double p5 ,

struct PHquintic *curve )

一阶Hermite插值问题的各种概括是可能的,基于通过从参数到几何放松获得的附加自由度连续性(即,单位端切线,而不是导数矢量)被施加)。 例如,

这使得螺旋段的设计成为可能,单调曲率变化[11,34,48,49]。

2.3。 C2 PH五次样条方程

在构建“普通”C2三次样条插值点q0,。。。 ,qN,每个对于i = 1,段ri(t),tisin;[0,1]。。。 ,N以立方Hermite为基础表示终点ri(0)= qi-1,ri(1)= qi和(待确定)末端导数ri(0)= di-1,Ri(1)= di。 对于i = 1,二阶导数连续性条件r“i(1)= r”i 1(0)。。。 ,N -1 at内部节点,连同终点条件,然后定义一个三角线性系统的未知节点导数d0,。。 ,dN。

构造一个C2 PH五阶样条插值指定的给定点条件下,每个段的导数ri(t)用复数未知数表示zi-1,zi,zi 1作为复数二次多项式的平方,使得第一和第二导数连续性,对于i = 1,ri(1)= ri 1(0)和r“i(1)= r”i 1(0)。。。 ,N -1,自动实现。 选择积分常数ri(0)= qi-1,位移条件。

对于i = 1,。。。 ,N然后在复数未知数中定义一个N个二次方程组z1,。。。 zN,每个方程中只有三个连续变量(以消除未定义的)变量z0和zN,必须按照第一和最后一个方程修改选择的最终条件)。

定义C2PH五阶样条的方程的非线性性质意味着a

正式解决方案的多样性。 distinct2解决方案的数量为2N-1,用于立方结束

跨越; 2N周期结束条件; 对于规定的最终导数,2N 1。 最初的研究[1]侧重于调查整个家庭的正式解决方案,计算使用同伦法[2,40]。 其中观察到独特的“好”解决方案其他人表现出极大的曲率变化或不期望的“循环”行为。 在实践中需要有效的方法来计算好的解决方案。 这可以使用迭代方法[20],但接近良好解决方案的初始近似是至关重要的快速可靠的融合。写出样条曲线的PH值分段ri(t),tisin;[0,1]的导数,在qi-1和qi之间,复杂的形式。

其中eta;=plusmn;1(将在计算起始近似值时确定:参见下面的sect;2.6)。在这种情况下,线性系统不是严格的三角形。

2.5。 迭代解决方案

系统(12)的雅可比矩阵M由元素定义

对于立方结束,系统(12)的雅可比M是三角形的,可以用O(N)成本计算每个牛顿 - 拉夫逊步长中的delta;z(r)增量。 定期的结束条件下,除了非零元素M1N和MN1之外,M是三角形,但是仍然可以用O(N)代价通过简单的修改3来计算delta;z(r)算法。 加上牛顿迭代的二次收敛,这提供了一种非常有效的解决方案(12),提供了一个开始的近似已知足够靠近“良好”解的z(0)=(z(0)1,...,z(0)N)一旦值z1,。。。 ,zN被确定,每个段的Bezier控制点(4)可以通过取p0 = qi-1和设定得到ri(t)。

2.6。开始逼近

起始近似z(0)=(z(0)1,...,z(0)N)的选择对于确保迭代(16)快速收敛到系统的“好”解(12)。该方法这里采用的是基于将PH五次样条的中点导数等同于“普通”三次样条用类似的结束条件内插规定的点。后一种衍生物满足线性系统

(19)di-1 4 di di 1 = 3(qi 1-qi-1)i = 2。 。 。 ,N-1,

通过适当的最终条件增加。解决了d0,。 。 。 ,dN,中点导数匹配条件产生方程组

(20)zi-1 6zi zi 1 = 4radic;Qii = 2, 。 。 ,N-1,

在那里我们介绍数量

(21)Qi:=6Delta;qi - (di-1 di),i = 1。 。 。 ,N。

标准三角解算器的3A描述及其适应周期性样条的修改,可以在[13]的第14章中找到。对于立方末端,这被增加了

(22)z1 = 12radic;Q1,zN = 12radic;QN,

在我们使用的定期终止条件的情况下

(23)eta;zN 6z1 z2 = 4radic;Q1,zN-1 6zN eta;z1 = 4radic;QN。

复数(21)各有两个平方根。选择任一根为radic;Q1,和每个后续根被选择为要求radic;Qi-1和radic;Qi,被视为R2中的向量拥有i = 2的积

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[141823],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。