点坐标和矩形的4个点坐标我知道了
解决方案 »
- update
- 如何得到SQLSERVER中的所有数据库,及数据库中的表呀???
- 有关wwDBGrid标题的问题????请各位帮忙!!!
- [讨论]用sqldmo可实现对sqlserver的备份,但无进度条。用VB就可以。请看源码。。。。
- 有谁能告诉我《悟透delphi》这本书是那个出版社出版的,ISBN是多少
- 还是DBGRID问题,但要求更高??
- 在up有分,来者有分,delphi项目的开发中,用Reportbuilder开发报表,发布时是否要带reportbuilder的包?
- 请教关于用ado控制access数据库的问题。
- 如何写程序自动获得本台机器的dns服务器
- 怎样定义一个在所有窗口中都能调用的全局变量?
- 再请教个简单的问题,关于鼠标改变的
- 我在线程中查询数据库
ShowMessage('点在矩形内')
else
ShowMessage('不在矩形内');
var
p:TPoint;
r:TRect;
begin
p:=point(40,50);
r:=Rect(0,0,100,100);
if ptInRect(r,p) then
showmessage('点在矩形范围内');
end;
我在此只想公布算法,相信你自己写的出来
1.如果矩形某边平行X或Y轴,这个简单,不说了
2.如果矩形某边不平行X或Y轴(在计算机屏幕上就是斜的)
假设矩形的某边与X轴的正向夹角为Angle(锐角或钝角都可以)
矩形的四个顶点是A[0],A[1],A[2],A[3],待判断点是Point
此时先计算矩形的中心点Center(x,y)
然后将四个顶点和待判断点是Point同时绕Center(x,y)点顺时针Angle
计算出四个顶点和判断点Point的新坐标,
此时的新矩形已经转换成(1.)中的情况
over
哦,了解了解。我以为有函数呢~
不过ptInRect(r,p)这个api函数功能很强大,可以判断一个点是否在非规则图形里面