不用delphi里面的函数,因为我用double型,有什么办法搞出算法来
急啊,希望可以给出代码
急啊,希望可以给出代码
解决方案 »
- DELPHI开发招聘(北京)
- 请问如何删除除了A、C盘、光盘以外的其它盘中所有的AAA.gdb文件
- 进来讨论的都有分!讨论如果获取一个变量改变的事件!
- 关于sql语言的问题,在线等,江湖告急
- 我想知道quickrep的具体用法,我怎么打印我的另外一个窗体上(from2)的dbgrid显示内容?
- ADO联服务器测试联接
- 如何返回点击的对象名?
- DBNavigator能改成中文的吗?
- 用INSTALLSHIELD做安装程序
- 谁有Big5码与GB码互相转换的控件啊?
- 长期潜水.....为了表示厚道..散分...
- 如何截獲"Discard changes to this record?"並換成中文對話框?
PtInRegion之类的,那比较简单
如果P在AB的左边,也在BC左边,也在CD左边,也在DA左边,则P在ABCD的里面;
如果P在AB的右边,也在BC右边,也在CD右边,也在DA右边,则P也在ABCD的里面;
否则P不在ABCD的里面.简单说,P在矩形ABCD四个边的同一侧,P在矩形ABCD的里面,否则不在里面.
//功能描述: 判断某个点是否在某个矩形中
//入口参数:
// fX, fY - 点坐标
// fX1, fY1 - 矩形左上角坐标
// fX2, fY2 - 矩形右下角坐标
//出口参数:
// 返回值 - True表示在矩形中, False表示不在矩形中
begin
Result := (fX >= fX1) and (fx <= fX2) and (fY >= fY1) and (fY <= fY2);
end;
它可以推广到任意凸多边形.例如,判别P是否在下面的6边形内:
1 2
。 。
6。 。3
。 P 。
。 。
。
5 4因P在6边形所有边(1-2,2-3,3-4,4-5,5-6,6-1)的右边,所以P在多边形内部;而 1 2
。 。
6。 。3
。 。
。 。 P
。
5 4P在1-2,2-3,4-5,5-6,6-1的右边,但在3-4的左边,所以P不在6边形内部.