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

z341223318 2008-04-03 06:04:01
首先用一个函数画一个矩形,它是用两个点的坐标来化出一个矩形的.
假设前面画矩形用的两个点的坐标分别为(x1,y1),(x2,y2)

那么我如何来判断一个点(x0,y0)是否在矩形里面呢?
是把x0与x1,x2 ,y0与y1,y2做比较吗?
请高手指点一下!
...全文
2254 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
guocai_yao 2008-04-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hastings 的回复:]
C/C++ codePtInRect(&rect,point);
[/Quote]
什么意思?
world007 2008-04-03
  • 打赏
  • 举报
回复
5楼说的没错,前提条件是要在该矩形是水平放置的,这样1楼才是正确的,如果不是水平放置的话,那么就需要把相应点的坐标转换一下
hastings 2008-04-03
  • 打赏
  • 举报
回复
PtInRect(&rect,point);
用户 昵称 2008-04-03
  • 打赏
  • 举报
回复
如果你的矩形就是横平坚直的,1楼的就可以。
lanmuyi 2008-04-03
  • 打赏
  • 举报
回复
(x1,y1),(x2,y2) 应该是矩形的左上角和右下角

所以当x0属于(x1,x2)并且y0属于(y1,y2)时 在矩形范围内
lala_benben 2008-04-03
  • 打赏
  • 举报
回复
...那两个点不是顶点。。。1楼那样判断行吗?
gccli 2008-04-03
  • 打赏
  • 举报
回复
自已画一个图,多种情况要考虑进去
hoohag 2008-04-03
  • 打赏
  • 举报
回复
if((x0 > min(x1, x2)) && (x0 < max(x1,x2)) && 
(y0 > min(y1, y2)) && (y0 < max(y1,y2))){
//在
}
else
{
// 不在
}

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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