如何判断两点之间的直线是否通过一副图片上的障碍物(障碍物是不规则的,且是黑色,其它地方是白色) 一副图片,假如是bmp图片,该图片上有若干不规则的图形(都是黑色),其它区域是白色在vc编程中,将该图片载入,如何快速判断给定的任意两个点之间的直线是否通过该图片中的黑色区域. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1能不能对不规则物体进行分割, 变成多个规则物体(比如编程多个三角或者4边形), 然后普通的检测就比较容易了。2或者对物体进行参数化, 变成多个曲线的组合, 然后对曲线进行碰撞检测。3或者把每个黑像素当成一个四边(当圆形应该比较快,简单),省的预先分割,进行检测的时候可能比较慢了, 像素比较多嘛。4如果同一幅图需要检测多次, 可以在检测前对图片进行预处理, 作成 binary tree,可以解决3的速度问题。我觉得3,4 组合会不错1,2预处理可能会麻烦点,能实现应该也会比较快 图片是滚动播放的吧,首先取得图片的BYTE *databuf;直线画完(鼠标键UP事件)立即把直线映射到bmp上,取得直线上所有点坐标对应的BMPBuf[?],保存到另一个数组Index[];图片滚动时取出BMPBuf[Index[0]]......BMPBuf[Index[max]],进行判断,因为是对数组操作,速度还可以 关于微软提供的组件和控件的帮助文档---困扰了多年的问题 CListCtrl控件看不见黑字!!!??? VCReleast版本没办法在没装VC环境下运行 有没有可以使用的C原代码实现真正的翻书特效的? 利用串口控件CMSComm发送0值,为什么发送不出去呢? 获得控件坐标的问题 如何用另外的用户身份运行一个程序? DLL下的多线程 如何在任意位置输出文字? 我想在mfc里做一个移动鼠标旁边会显示hello的程序,该怎么去做呢,兄弟们 平面贴图 哪里有基于 GDI 的字体发光的算法?
1,2预处理可能会麻烦点,能实现应该也会比较快
首先取得图片的BYTE *databuf;
直线画完(鼠标键UP事件)立即把直线映射到bmp上,
取得直线上所有点坐标对应的BMPBuf[?],保存到另一个数组Index[];
图片滚动时取出BMPBuf[Index[0]]......BMPBuf[Index[max]],进行判断,
因为是对数组操作,速度还可以