if(m>0)move(array,n,m);Ellipse(hdc,x,y,x 20,y 2EndPaint(hwnd hdc

知识点梳理
以经过两焦点{{F}_{1}},{{F}_{2}}的直线为x轴,线段{{F}_{1}}{{F}_{2}}的为y轴,建立直角坐标系xOy.设M\left({x,y}\right)是椭圆上任意一点,椭圆的焦距为&2c(c>0),那么焦点&{{F}_{1}},{{F}_{2}}&的坐标分别为&\left({-c,0}\right),\left({c,0}\right).又设&M&与&{{F}_{1}},{{F}_{2}}&的距离的和等于&2a.因为{{|MF}_{1}}|=\sqrt[]{\left({x+c}\right){{}^{2}}{{+y}^{2}}}{{,|MF}_{2}}|=\sqrt[]{\left({x-c}\right){{}^{2}}{{+y}^{2}}}.由椭圆的定义得{{|MF}_{1}}{{|+|MF}_{2}}|=2a,所以\sqrt[]{\left({x+c}\right){{}^{2}}{{+y}^{2}}}+\sqrt[]{\left({x-c}\right){{}^{2}}{{+y}^{2}}}=2a,整理得{\frac{{{x}^{2}}}{{{a}^{2}}}}+{\frac{{{y}^{2}}}{{{a}^{2}}{{-c}^{2}}}}=1①由椭圆的定义可知,2a>2c,即&a>c,所以,{{a}^{2}}{{-c}^{2}}>0.当点M的横坐标为0时,即点在y轴上,此时|OM|=\sqrt[]{{{a}^{2}}{{-c}^{2}}},令b=|OM|=\sqrt[]{{{a}^{2}}{{-c}^{2}}},那么①式就是{\frac{{{x}^{2}}}{{{a}^{2}}}}+{\frac{{{y}^{2}}}{{{b}^{2}}}}=1\left({a>b>0}\right)②&从上述过程可以看到,椭圆上任意一都满足方程②,以方程②的解\left({x,y}\right)为坐标的点到椭圆的两焦点{{F}_{1}}\left({-c,0}\right),{{F}_{2}}\left({c,0}\right)&的距离之和为&2a,即以方程②的解为坐标的点都在椭圆上.由曲线与方程的关系可知,方程②是椭圆的方程,我们把它叫做椭圆的标准方程.它的焦点分别是{{F}_{1}}\left({-c,0}\right),{{F}_{2}}\left({c,0}\right),这里{{c}^{2}}{{=a}^{2}}{{-b}^{2}}.若椭圆的焦点在y轴上,此时椭圆的方程是{\frac{{{y}^{2}}}{{{a}^{2}}}}+{\frac{{{x}^{2}}}{{{b}^{2}}}}=1\left({a>b>0}\right),这个方程也是椭圆的标准方程.
平面内与两个定点{{F}_{1}},{{F}_{2}}&的距离的和等于常数(大于{{|F}_{1}}{{F}_{2}}|)的点的轨迹叫做(ellipse).这两个定点叫做椭圆的焦点,两焦点的距离叫做椭圆的.
整理教师:&&
举一反三(巩固练习,成绩显著提升,去)
根据问他()知识点分析,
试题“已知圆M:(x+1)2+y2=16及定点N(1,0),点P是...”,相似的试题还有:
设F1,F2分别是椭圆C:\frac{x^{2}}{a^{2}}+\frac{y^{2}}{b^{2}}=1&&&&(a>b>0)的左右焦点,(1)设椭圆C上的点(\sqrt{3},\frac{\sqrt{3}}{2})到F1,F2两点距离之和等于4,写出椭圆C的方程和焦点坐标(2)设K是(1)中所得椭圆上的动点,求线段KF1的中点B的轨迹方程(3)设点P是椭圆C上的任意一点,过原点的直线L与椭圆相交于M,N两点,当直线PM,PN的斜率都存在,并记为kPM,KPN试探究kPMoKPN的值是否与点P及直线L有关,并证明你的结论.
已知M是以点C为圆心的圆(x+1)2+y2=8上的动点,定点D(1,0).点P在DM上,点N在CM上,且满足.动点N的轨迹为曲线E.(Ⅰ)求曲线E的方程;(Ⅱ)线段AB是曲线E的长为2的动弦,O为坐标原点,求△AOB面积S的取值范围.
设F1,F2分别是椭圆C:的左右焦点,(1)设椭圆C上的点到F1,F2两点距离之和等于4,写出椭圆C的方程和焦点坐标(2)设K是(1)中所得椭圆上的动点,求线段KF1的中点B的轨迹方程(3)设点P是椭圆C上的任意一点,过原点的直线L与椭圆相交于M,N两点,当直线PM,PN的斜率都存在,并记为kPM,KPN试探究kPMoKPN的值是否与点P及直线L有关,并证明你的结论.关于HDC的使用方法
画图方法:
1.获取设备环境
hdc=BeginPaint(HWND,LPPAINTSTRUCT);//开始画图(获取设备环境)----------EndPaint(HWND,LPPAINTSTRUCT);//结束画图
hdc=GetDC(HWND);//开始画图(获取设备环境-功能更强)-------------ReleaseDC(HWND);//结束画图
3.设置画笔
& HPEN hP//定义画笔的句柄
hPen=(HPEN)GetStockObject(nPenStyle);/hPen=CreatePen(nPenStyle,nWidth,rgbColor);//定义画笔
& SelectObject(HDC,HPEN); //选择画笔
& DeleteObject(HPEN);//删除画笔
4.设置画刷
& HBRUSH hB //定义画刷的句柄
& hBrush=(HBRUSH)GetStockObject(nBrushStyle);
/CreatSolidBrush(rgbColor);/CreateHatchBrush(nHctchStyle,rgbColor);//定义的画刷
& SelectObject(HDC,HBRUSH); //选择画刷
DeleteObject(HBRUSH);&//删除画刷
5.主要函数
& 1)颜色宏:RGB(nRed, nGreen,nBlue)
& 2)设置画笔当前位置的函:BOOL MoveToEx(HDC hdc,int X, int
Y,LPPOINT lpPoint )
& 3)从当前位置向指定坐标点画直线的函数:BOOL LineToEx(HDC hdc,int
& 4)从当前位置开始,依次用线段连接lpPoints中指定的各点的函数BOOL
Polyline(HDC hdc,LPPOINT lpPoints,int nCount)
& 5)绘制椭圆弧线的函数BOOL Arc(HDC hdc,int X1,intY1, int
X2,int Y2,int X3,int Y3,int X4,int Y4 )
& 6)使用当前画笔绘制一个饼图,并使用当前画刷进行填充的函数:BOOL Pie(HDC
hdc,int X1,intY1,int X2,int Y2,int X3,int Y3,int X4,int Y4 )
说明:(x3,y3),(x4,y4)与圆心的连线把圆割成饼
& 7)使用当前画笔绘制一个矩形,并使用当前画刷进行填充的函数:BOOL Rectangle(HDC
hdc,int X1,int Y1,int X2,int Y2)
& 8)绘制一个圆角矩形:BOOL RoundRect(HDC hdc,int X1,int
Y1,int X2,int Y2,int nHeight,int nWidth)
& 9)绘制一个椭圆:BOOL Ellipse(HDC
hdc,intX1,intY1,intX2,intY2)
&10)绘制一个多边形:BOOL Polygon(HDC hdc,LPPOINT
lpPoints,int nCount)
1.设置映像模式:将逻辑单位转化为设备的度量单位
& 窗口:对应逻辑坐标系上程序员设定的区域
& 视口:对应实际输出设备上程序员设定的区域
& 我们看到的都是视口,设置映像模式实际上就是设置逻辑图像与物理输出图像间的比例.
& 1) 设置映像模式SetMapMode(hdc,nMapMode)
获取映像模式GetMapMode(hdc)
&映像模式(nMapMode)&&将一个逻辑单位映射为&&坐标系设定
&MM_ANISOTROPIC&&&系统确定&&&Optional(窗口:视口表现为:窗口高:视口高;窗口宽:视口宽)
&MM_HIENGLISH&&&0.001英寸&&&Y上,X右
&MM_HIMETRIC&&&0.01毫米&&&Y上,X右&&&
&MM_ISOTROPIC&&&系统确定&&&Optional,但X:Y=1:1(窗口:视口表现为:min{窗口高:视口高,窗口宽:视口宽})
&MM_LOENGLISH&&&0.01英寸&&&Y上,X右
&MM_LOMETRIC&&&0.1毫米&&&&Y上,X右
&MM_TEXT(默认)&&&一个像素&&&Y下,X右
&MM_TWIPS&&&1/1440英寸&&&Y上,X右&&
& 2) 窗口区域的定义BOOL Set WindowExtEx(HDC hdc,int
nHeight,int nWidth,LPSIZE lpSize)
视口区域的定义BOOL Set ViewportExtEx(HDC hdc,int nHeight,int nWidth,LPSIZE
& 3) 视口的缺省原点和窗口的缺省原点均为(0,0)
设置窗口原点:BOOL SetWindowOrgEx(HDC hdc,int X,int Y,LPPOINT
设置视口原点:BOOL SetViewOrgEx(…)
2.获取系统画笔时的类型nPenStyle:WHITE_PAN、BLACK_PAN、DC_PAN、NULL_PAN
创建画笔时的类型nPenStyle:PS_DASH、PS_DASHDOT、PS_DASHDOTDOT、PS_DOT、PS_INSIDEFRAME、PS_NULL、PS_SOLID
& 获取系统画刷时的类型nBrushStyle:
BLACK_BRUSH、DKGRAY_BRUSH、GRAY_BRUSH、HLLOW_BRUSH、LTGRAY_BRUSH、NULL_BRUSH、WHITE_BRUSH
创建画刷时的类型nBrushStyle:HS_BDIAGONAL、HS_DIAGCROSS、HS_FDIAGNAL、HS_CROSS、HS_HORIZONTAL、HS_VERTICAL
3.PAINTSTRUCT数据结构是Windows系统提供的标识无效区域的结构,其定义如下:
& Typedef struct tagPAINTSTRUCT
//设备环境句柄
&&& BOOL fE
// fErase一般取真值,表示擦除无效矩形的背景
rcP //无效矩形标识
fR //系统保留
fIncU //系统保留
rgbReserved[16]; //系统保留
& } PAINTSTRUCT;
& 其中:rcPaint
为标准的RECT数据结构,其作用是标识无效矩形,该结构中包含了无效矩形的左上角和右下角的坐标。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 hwnd hdc 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信