posts - 420, comments - 576, trackbacks - 0, articles - 0

解析几许求交之圆与二次曲面

Posted on 2019-02-21 22:05 eryar 阅览(840) 谈论(0)  修改 保藏 引证 所属分类: 2.OpenCASCADE

解析几许求交之圆与二次曲面

eryar@163.com

 

Abstract. OpenCASCADE provides the analytic intersection between a conic and a quadric in the package IntAna.

Key Words. Analytic geometry, intersection, coninc, quadric

1. Introduction

OpenCASCADE中的包IntAna供给了解析几许曲线(二次曲线)与解析曲面(二次曲面)求交、解析曲面与解析曲面求交的功用。其间IntAna分别是Intersection Analytic的前三个字母缩写,表明解析几许求交。

咱们学过了《线性代数》中的二次型,其间二次型在解析几许中的一个运用便是二次曲线和二次曲面方程的化简及其性质的剖析。

本文首要结合源码剖析圆与二次曲面求交的完成,其他二次曲线与二次曲面求交的能够依此类推。

2. Quadratic form

在解析几许中,为了便于研讨二次曲线

的几许性质,咱们能够挑选恰当的坐标旋转改换

把方程化成规范方式:

依据规范方式中的系数来剖析这个二次曲线是什么曲线,即圆、椭圆、抛物线、双曲线。

OpenCASCADE中解析几许的二次曲面有以下几种类型:

l gp_Pln:平面可看作二次曲面的特例

l gp_Sphere:解析球面

l gp_Cylinder:解析柱面

l gp_Cone:解析锥面

这些解析曲面都能够一致运用二次多项式来表明,即这个二次多项式的系数确认了一个二次曲面。OpenCASCADE中相应的类是IntAna_Quaric

3. Math Trigonometric Function Roots

OpenCASCADE中类IntAna_IntConicQuad中供给了二次曲线与二次曲面求交功用,其间核算圆与二次曲面相交的函数是:

  //! Creates the intersection between a circle and a quadric.

  Standard_EXPORT IntAna_IntConicQuad(const gp_Circ& C, const IntAna_Quadric& Q);

其完成原码中注释如下:

 

依据其注释,可知其核算进程如下:将圆的方程在其部分坐标系顶用参数方式表明,

将二次曲面方程的系数也改换到圆的坐标系中,由于圆的参数方程中为0,所以将圆的参数方程代入二次曲面的方程后,和z相关的项的系数都能够简化了。

得到一个三角函数的方程后,这时就要引进根底模块中的数学东西集来解决问题了。

math_TrigonometricFunctionRoots首要用于对如下方式的三角函数方程进行求解:

4. Conclusion

关于圆与二次曲面求交的完成来看,也能够不必改换二次曲面的坐标系,直接将圆的参数方程代入曲面的二次方程中:

终究化简也可得到一个三角函数方程,可是核算量与改换曲面坐标系比照来看会更大。

从上面的源码剖析可知,在OpenCASCADE中关于解析曲线与曲面求交运用二次多项式系数来表明的。经过将二次曲线用参数方式的方程来表明,并代入二次曲面的方程,化简后直接运用math包中的东西(多项式方程求解和三角函数求解东西)对方程进行求解。

5. References

1. 同济大学运用数学系. 线性代数(第四版). 高等教育出版社

2. 丘维声. 解析几许. 北京大学出版社

 


为了便利我们在移动端也能看到我的博文和谈论沟通,现已注册微信大众号,欢迎我们扫描下方二维码重视。
Shing Liu(eryar@163.com)