如何判断一个点是否在一个矩形内?

scvzhang 2003-12-14 09:23:44
点坐标和矩形的4个点坐标我知道了
...全文
1049 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cll007 2003-12-16
  • 打赏
  • 举报
回复
delphi里面没有这样的特殊函数
不过ptInRect(r,p)这个api函数功能很强大,可以判断一个点是否在非规则图形里面
scvzhang 2003-12-16
  • 打赏
  • 举报
回复
TO cll007(gazo)
哦,了解了解。

我以为有函数呢~
cll007 2003-12-16
  • 打赏
  • 举报
回复
我有源码可以判断水平面内的矩形(可以平行X,Y轴,也可以不是)
我在此只想公布算法,相信你自己写的出来
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

flyforlove 2003-12-16
  • 打赏
  • 举报
回复
矩形和水平面不垂直?你的水平面指的是什么?
平面处理,怎么还有立体的东西?
如果你要的区域在平面上表现出来的是平行四边形,或者别的,
那就不是矩形了,
真搞不懂你说的什么意思。
scvzhang 2003-12-16
  • 打赏
  • 举报
回复
矩形和水平面不垂直 。。HELP
flyforlove 2003-12-15
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
p:TPoint;
r:TRect;
begin
p:=point(40,50);
r:=Rect(0,0,100,100);
if ptInRect(r,p) then
showmessage('点在矩形范围内');
end;
亲密数 2003-12-15
  • 打赏
  • 举报
回复
Indicates whether a specified point lies inside a specified rectangle.

Unit

Types

Category:

geometric routines

Delphi syntax:

function PtInRect(const Rect: TRect; const P: TPoint): Boolean;

C++ syntax:

extern PACKAGE bool __fastcall PtInRect(const TRect Rect, const TPoint P);

Description

PtInRect returns true if the point, P, lies inside the rectangle, Rect, and false if P is not in Rect.

PtInRect does not consider a point inside a rectangle if the rectangle has a negative width or height. A point is considered inside a rectangle if it lies on the left or top edge, but not if it lies on the right or bottom edge.
flyforlove 2003-12-15
  • 打赏
  • 举报
回复
矩形不是平放的?什么意思?不懂。
scvzhang 2003-12-15
  • 打赏
  • 举报
回复
我的矩形不是平放的,怎么办?
scvzhang 2003-12-14
  • 打赏
  • 举报
回复
还是不明白~
老大能不能说详细点啊?
Linux2001 2003-12-14
  • 打赏
  • 举报
回复
if ptInRect(点坐标, 矩形Rect) then
ShowMessage('点在矩形内')
else
ShowMessage('不在矩形内');
scvzhang 2003-12-14
  • 打赏
  • 举报
回复
在线等待啊,兄弟姐妹们帮下忙了~

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧