向高手求教:怎么判断某一点在梯形区域内

qipp1150 2007-07-03 04:07:07
在画布上有一个梯形,已知梯形的四个顶点的坐标,另外有一个点,怎么判断这个点是否在这个梯形的范围内,
...全文
418 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qipp1150 2007-07-04
  • 打赏
  • 举报
回复
结贴,结合我的思路就ok了
手指风 2007-07-04
  • 打赏
  • 举报
回复
方法应该很多:我想到一种方法是,因为判断一个点是否在三角形内可以用面积法来判断,就是从这个点引线到三角形的三个顶点,这样可以得到3个三角形,求这3个三角形的面积和是否是和原来的大三角形相等就可以判断点是否是在三角形内,当然首先要判断点在三角形线上的特殊情况.既然三角形可以判断了,那梯形就比较好解决了,将对角线连起来就是2个三角形,判断这个点是否在任意一个三角形内就可以了.那怎么找对角线呢,我们知道梯形的任意一条对角线的k值(就是斜率)它应该是不会和梯形任意的一条边的斜率相等的.那只要计算斜率对比就ok了.
flyerer1 2007-07-04
  • 打赏
  • 举报
回复
以下是一个vc的一个数组声明和函数的调用,在delphi如何写?

unsigned int Para[3]={0x01FF,0x0a,0x1}; //共12个字节
其中Parameter[0] 0x01FF为固定的命令字节

1. BOOL Device_Write_CPP(PVOID,DWORD)


if (!Device_Write_CPP(Para,12))
{
AfxMessageBox("失败","Write fail!");
return false;
}


2. BOOL Device_Read_CPP(PVOID,DWORD)

if( !Device_Read_CPP(dataValue,4096) // dataValue为 unsigned short int类型的数组,不能为unsigned int类型
{
AfxMessageBox("失败","Read fail!");
return false;
}

QQ:313527609
brightyang 2007-07-04
  • 打赏
  • 举报
回复
学过数学没有
qipp1150 2007-07-04
  • 打赏
  • 举报
回复
天哪,谁能回答一下我的问题啊,着急啊
flyerer1 2007-07-03
  • 打赏
  • 举报
回复
以下是一个vc的一个数组声明和函数的调用,在delphi如何写?

unsigned int Para[3]={0x01FF,0x0a,0x1}; //共12个字节
其中Parameter[0] 0x01FF为固定的命令字节

1. BOOL Device_Write_CPP(PVOID,DWORD)


if (!Device_Write_CPP(Para,12))
{
AfxMessageBox("失败","Write fail!");
return false;
}


2. BOOL Device_Read_CPP(PVOID,DWORD)

if( !Device_Read_CPP(dataValue,4096) // dataValue为 unsigned short int类型的数组,不能为unsigned int类型
{
AfxMessageBox("失败","Read fail!");
return false;
}

QQ:313527609

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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