hur.cn - 华软网

 热门搜索

判断点在椭圆上

  作者:未知    来源:网络    更新时间:2010/12/8
我想判断鼠标的点是否是在我刚画好的椭圆上,是椭圆上,不是椭圆内,有现成的函数没有啊?
---华软 网友回答---
通过数学知识 判断该点坐标是否在椭圆上
---华软网友回复---
C++">CRgn::PtInRegion  

Checks whether the point given by x and y is in the region stored in the CRgn object. 
 
BOOL PtInRegion(
   int x,
   int y 
) const;
BOOL PtInRegion(
   POINT point 
) const
 

---华软网友回复---
那个是在椭圆内吧

---华软网友回复---
嗯,就是运用高中的数学,将点的坐标代到方程中。

---华软网友回复---
自己写个方法不就好了,如果点在椭圆上,那么应该是=0的,不在点上就是非0,其实就是实现那个公式而已
---华软网友回复---
前提,你需要保存有这个椭圆的参数,然后还要有鼠标的位置
---华软网友回复---
用gdi画的椭圆吗?那你应该知道这个这个椭圆的界限矩形了,根据这个矩形能够获得椭圆的长轴与短轴,然后就能获得2个焦点。然后计算某个点到两个焦点距离根据椭圆特征判断就好了
---华软网友回复---
只好运用方程带点计算了
---华软网友回复---
或能够这样
待测点CPoint pt;
则pt.x = center.x + a * cos(t);
计算出t后
对照y = center.y + b * sin(t);
center是椭圆圆心
然后y和pt.y对照一个精确度
---华软网友回复---
好的谢谢大家了      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。