百思不得其解

ericming200409 2009-05-31 08:46:12
我的掌纹识别程序中有一段代码如下
pDC->MoveTo(point[0].x,point[0].y);
pDC->LineTo(point[2].x,point[2].y);
pDC->MoveTo(point[1].x,point[1].y);
pDC->LineTo(point[3].x,point[3].y);

pDC->MoveTo(point[0].x,point[0].y);
float h=(point[1].y-point[0].y)/(point[1].x-point[0].x);
int x1=point[0].x+100;
int y1=h*(x1-point[0].x)+point[0].y;
if (h==0 )pDC->LineTo(x1,y1);
运行结果是画出了第三条先,说明h==0,问题是h怎么会是0呢?
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dorawan 2009-11-18
  • 打赏
  • 举报
回复
我是刚接触掌纹识别的新手,请问怎么分割出中心区域啊??有matlab的代码吗?
ericming200409 2009-05-31
  • 打赏
  • 举报
回复
哦 对了,以前还记得的,这一下子忘记了 谢谢各位啊 太谢谢了 哈哈
luckyboy101 2009-05-31
  • 打赏
  • 举报
回复
就比如1/3的结果是0,1.0/3的结果是0.3333....
luckyboy101 2009-05-31
  • 打赏
  • 举报
回复
float h=(point[1].y-point[0].y)/(point[1].x-point[0].x);
这条语句出了问题,两个整数相除,去除了小数部分
wqvbjhc 2009-05-31
  • 打赏
  • 举报
回复
float h=(point[1].y-point[0].y)*1.0/(point[1].x-point[0].x);
ericming200409 2009-05-31
  • 打赏
  • 举报
回复
前面不是用point[1].y是否等于point[0].y画线了嘛,结果是明显不会相等
luckyboy101 2009-05-31
  • 打赏
  • 举报
回复
那要看你的point[1].y是否等于point[0].y,你调试一下看看

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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