c二次曲线课程设计 课程设计.docx

上传人:b****2 文档编号:2234936 上传时间:2022-10-28 格式:DOCX 页数:12 大小:315.98KB
下载 相关 举报
c二次曲线课程设计 课程设计.docx_第1页
第1页 / 共12页
c二次曲线课程设计 课程设计.docx_第2页
第2页 / 共12页
c二次曲线课程设计 课程设计.docx_第3页
第3页 / 共12页
c二次曲线课程设计 课程设计.docx_第4页
第4页 / 共12页
c二次曲线课程设计 课程设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

c二次曲线课程设计 课程设计.docx

《c二次曲线课程设计 课程设计.docx》由会员分享,可在线阅读,更多相关《c二次曲线课程设计 课程设计.docx(12页珍藏版)》请在冰豆网上搜索。

c二次曲线课程设计 课程设计.docx

c二次曲线课程设计课程设计

学号

2016-2017学年第二学期

1608220203

 

《高级语言程序设计》

课程设计报告

 

题目:

二次曲线课程设计

专业:

网络工程(对口)

班级:

16(3)班

姓名:

代应豪

指导教师:

成绩:

 

计算机学院

2017年4月25日

1、前言„„„„„„„„„„„„„„„„„„„„„„„„ 1 

2、二次曲线方程的化简与分类„„„„„„„„„„„„„„1 

(一)二次曲线方程在坐标变换下系数的变化„„„„„„1  

(二)利用坐标变换来化简二次曲线方程„„„„„„„„„„3 

(三)二次曲线的不变量„„„„„„„„„„„„„„„„„„5 

(四)用不变量确定二次曲线的标准方程„„„„„„„„„„„6

(五)用参数法化简二次曲线方程„„„„„„„„„„„„„„8   

 

4、总结 „„„„„„„„„„„„„„„„„„„„„„„„9

5、附加代码 „„„„„„„„„„„„„„„„„„„„„„„„10

 

一、前言 

二次方程的化简与分类不仅是大学空间解析几何研究的重要内容之一,而且对中学二次曲线内容的教学有非常重要的作用。

研究如何把二次方程代表的曲线进行化简、分类、作出具体图形具有重要的理论价值。

目前,各种教材及相关文献资料给出了二次方程化简的四种基本方法方法:

坐标变换法;不变量法;因式分解法。

在上述方法中,有的化简简单,但难于作图;而有的化简相对繁琐,但易于作图。

 

    本文通过深入分析有关二次方程的知识,对此进行分类、整理,运用了高等数学的方法,归类总结出二次方程化简的方法,选择一种易于二次方程的化简的方法。

 二、二次曲线的分类与化简 

    利用坐标变换能够把二次曲线方程化为所表图形的标准方程,从而能断定所表示的曲线是何种图形,并确定它在平面上的位置。

本部分要解决这样一个理论问题,即一定有这样的坐标变换,能使二次曲线方程变为标准形式,并且给出作这种坐标变换的方法,从而解决了二次曲线的分类问题。

 

(一) 二次曲线方程在坐标变换下系数的变化 

设在直角坐标系Oxy中二次曲线C的方程 

F(x,y)=a11x2+2a12xy+a22y2+2a13x+2a23y+a33=0(2.1.1)

其中a11,a12,a13...a33是常数,且a11,a12,a22不同时为零。

 

设另有直角坐标系O'x'y',如果同一点在两个系中坐标的变换格式是

x=x’cosa-y’sina+x0

Y=x’sina+y’cos+y0(2.1.2)

将(2.1.2)代入(2.1.1)式,得到二次曲线C在O'x'y'系中的方程:

分别就(2.1.2)表示旋转(x0y00)与平移(0)写出从方程(2.1.1)到(2.1.1)1的系数变化公式。

引理2.1.1[1]在旋转的坐标变换(2.1.2)下(x0y00),二次曲线方程(2.1.1)变为(2.1.1)1,其中系数

由公式(2.1.3)可见,在旋转坐标变换下,二次曲线方程的二次项系数变为二次项系数,一次项系数变为一次项系数,而常数项保持不变。

引理2.1.2[2]在平移的坐标变换(2.1.2)下(0),二次曲线方程(2.1.1)变为(2.1.1)1,其中系数

由公式(2.1.4)可见,在平移坐标变换下,二次曲线方程的二次项系数保持不变,

'一次项系数只和原二次与一次项系数有关,而新的常数项a33是原方程(2.1.1)左端在

新原点(x0,y0)处的值F(x0,y0)。

(二)利用坐标变换对二次曲线方程进行化简

第一步,通过旋转坐标变换消去方程(2.1.1)中混乘项的系数,在方程(2.1.1)的混

'乘项系数a120的情况下按公式

由以上给出的坐标变换称为主轴变换,新坐标轴的方向称为该二次曲线的主方向。

'选取转角,使得新坐标系中方程(2.1.1)1的系数a120,即方程(2.1.1)1为

容易证明在主轴变换下转角与系数有如下关系:

引理2.2.1[3]由(2.2.1)式确定的转角与二次曲线方程(2.1.1)的二次项系数满足关系式

一次项系数满足

其中

 

(三)二次曲线的不变量

由二次曲线C的系数构成的矩阵

是一个对称矩阵,现用它的元素引进下列记号:

易于验证,I3与K1还可以写成

引理2.3.1[5]当二次曲线方程(2.1.1)通过主轴变换用(2.2.1)确定的旋转变为(2.1.1)2时,用(2.3.1)式定义的I1,I2,I3,K1都是不变的。

引理2.3.2[6]当二次曲线方程(2.1.1)2通过平移坐标变换变为(2.2.6)1,2,3时,用(2.3.1)式定义的I1,I2,I3是不变的,以及当I2=I3=0时,K1也是不变的。

定理2.3.1[6]在一般直角坐标变换下,二次曲线C的方程(2.1.1)按(2.3.1)式确定的各量满足:

1)I1,I2,I3是不变的;

2)当I2=I3=0时,K1是不变的。

定义2.3.1由方程(2.1.1)确定的二次曲线C,其系数按(2.3.1)确定的I1,I2,I3称为C的不变量;而K1称为条件不变量。

(四)用不变量确定二次曲线的标准方程

同一条曲线在不同坐标系中有不同的方程,对二次曲线来说,这表现为它们方程系数的不同。

而这不同的方程既然要表示同一条曲线,那么它们的系数就应该有某些共同特点,也即是它们的系数必有某种不因坐标变换而改变的共同的东西。

上节求的不变量既然与坐标系无关,那么它们就应该代表了图形的几何性质.事实上曲线的类型、形状及其大小都完全可由其不变量来确定,或是说曲线的标准方程可以由不变量

得到

利用不变量可以判别曲线的类型并写出其标准方程,见表

(1)

(5)用参数法化简二次曲线方程 

由上可得,中心二次曲线方程的化简,实质上就是将二次曲线两条互相垂直的对称轴作为新坐标系的两坐标轴,从而得到标准方程,非中心二次曲线化简,是将它的一条对称轴及与它垂直的另一直线作为新坐标系的坐标轴而达到化简目的。

参数法化简二次曲线方程根据这一性质,将坐标变换和主直径法有机地结合起来,用初等数学形式表示出来,达到化简二次曲线方程的目的。

1.非中心二次曲线方程的化简

其中正负号的选取, 只要使式中的系数与x'式中x的系数,与y'式中y的系数同号。

则得二次曲线标准方程

2.中心二次曲线方程的化简

3.

4.基本原理:

先设计一个对话框实现交互,将二次曲线方程的六个项的系数输入进去,并根据这六个数,分别计算出211321,,,,,?

?

KIII各个参数,在根据不变量法,确定二次曲线类型,并画出曲线图形。

四、总结

本文就二次曲线方程的化简介绍了多种方法,不仅有坐标变换法、不变量与半不变量法、因式分解法等几种比较常见的基本方法,还有针对所查文献资料给出的四种化简二次曲线方程的基本方法进行归纳,并结合这几种方法给出两种既易于二次曲线方程的化简又易于作图的简便方法即参数法和配方法,由此启发我们思维要善于发散,对于同一道题,要应用不同的方法进行解答,再从所有的解法中找出一种最简便的方法。

参数法化简二次曲线方程将坐标变换和主直径法有机地结合起来,用初等数学形式表示出来,达到化简二次曲线方程的目的。

而配方法是通过对二次曲线方程配方变形,对二次曲线方程进行分类,化简;然后根据直线与二次曲线相交时参数t的几何意义,确定二次曲线的标准方程。

最后,将图形学的知识与解析几何的知识有机结合起来,用MFC做工具,绘制出二次方程化简后标准方程所对应的曲线,跟有助于理解。

 附加代码:

voidCMyProjectView:

:

OnDrawAllKindsOFCurve()

{

CDC*pDC=GetDC();//获得设备指针

intc=RGB(255,0,0);

doubleI1=a11+a22;

doubleI2=a11*a22-a12*a12;

doubleI3=a11*a22*a33+2*a12*a23*a13-a13*a13*a22-a12*a12*a33-a23*a23*a11;doubleK1=a11*a33-a13*a13+a22*a33-a23*a23;

doubleM1=(I1+sqrt(I1*I1-4*I2))/2;

doubleM2=(I1-sqrt(I1*I1-4*I2))/2;

if(I2>0){

/***椭圆形***/

if(I3==0){

/***点(或一对相交与实点的虚直线)***/}

pDC->SetPixel (0,0,c);

pDC-> TextOut(100,100,"图形即为原点O或称交于实点O的两虚线"); }

else{

if(I3*I1<0){/***椭圆***/}

doublea=-I2/(I2*M1),b=-I2/(I2*M2);

OnMidpointellispe(a,b);pDC->TextOut(100,100,"图形即为虚椭圆");pDC->SetPixel(0,0,c);pDC->TextOut(100,100,"图形即为原点O或称交于实点O的两虚线");}else{/***虚椭圆***/

}elseif(I2<0){

/***双曲形***/

if(I3==0)

{/***一对相交直线***/

doublek1=sqrt(-M1/M2);

doublek2=-sqrt(-M1/M2);

OnDdaline(k1,pDC);OnDdaline(k2,pDC);pDC->TextOut(100,100,"图形即为一对相交直线");

}

else{/***双曲线***/doublea=-I2/(I2*M1),b=I2/(I2*M2);OnMidpointenve(a,b);

pDC->TextOut(100,100,"图形即为双曲线");}

}else{/***抛物形***/

if(I3==0){if(K1<0)

{/***一对平行直线***/

intb1=(int)sqrt(-K1/I1/I1);

intb2=(int)-sqrt(-K1/I1/I1);

for(inti=-200;i<=200;i++){pDC->SetPixel(i,b1,c);

pDC->SetPixel(i,b2,c);

pDC->TextOut(100,100,"图形即为一对平行直线");}

}elseif(K1>0){

/***一对平行虚线***/

}

voidCMyProjectView:

:

OnDdaline(doublek,CDC*pDC)

{/***绘制直线***/

intxa=-300,ya=(int)-300*k,xb=300,yb=(int)300*k,c=RGB(255,0,0);//定义直线的两端点,直线颜色

intx,y=ya;

if(abs(k)<1)

pDC->TextOut(100,100,"图形即为一对平行虚线");

}else{/***一对重合直线***/pDC->TextOut(100,100,"图形即为一对重合直线,即为x轴");

OnDdaline(0,pDC);pDC->TextOut(100,100,"图形即为抛物线");}}doubleb=2*sqrt(-I3/I1)/I1;}

}else{/***抛物线***/OnMidpointePao(b);

第24/28页

{

for(x=xa;x<=xb;x++)

{

{

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1