高难问题(GDI来画上万条直线对象,遭遇内存管理问题) CAD中画图形可以达到几十万个,操作依然流畅。怎么判断一个点是不是在用gdi画的直线上,不能用Region来判断,有没有其他的算法?因为一万条直线,内存中就需要保存一万个Region,那速度太慢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果数据量大的话,就需要用到索引技术,如B tree索引、二叉树索引 等,避免和每个元素进行判断,这样将大幅提高性能。一般在CAD书中没有提到,在有些GIS书籍中有描述 不知道你的线对象是怎么实现的,用GetChildAtPoint行不行 楼上的是要继承control,那是不行的 用Region保存直线??高见!!!!!!!! 以一个点画一条水平或垂直的线line1,如果line1与其他直线的交点与这个点相同,则这个点在那条直线上,否则不在。不知道表达的明不明白,我以前用过这个方法,还算好用。 我觉得判断一个点是不是在直线上不是通过region来判断,而是通过背后的数据结构来判断,举例如一条直线,你应该建立直线类的数学模型,然后根据直线本生的特性来判断某个点是不是在直线上,其它的图形也类似,关键是你如何建立好图形的数学模型 不用保存方程,直接用坐标计算.取直线上的两个点(x1,y1),(x2,y2).点坐标为(xq,yq),如果(xq-x1)*(y2-y1)-(x2-x1)*(yq-y1)=0,点就在直线上.如果要判断是否在端点为(x1,y1),(x2,y2)的线段上,还要判断min(x1,x2)<=xq<=max(x1,x2)和min(y1,y2)<yq<max(y1,y2)是否同时成立. 请教各位高人,image.fromfile() 请教各位高手一个问题,关于mvc的 filesterm流不可读的问题 MDI子窗口最大化时如何去掉最小化和还原按钮 项目生成文件时多复制了文件 菜鸟问题,什么是函数签名呀? 从40个数字中随机抽取数 多播技术和代码 WinForm中遇到的奇怪问题?(C#) c#写的远程控制 屏幕传输问题 怎么样高效率传输 现在屏幕一直闪 如何让IndexOf查找时大小写不敏感 XP风格的控件
用GetChildAtPoint行不行
不知道表达的明不明白,我以前用过这个方法,还算好用。
(xq-x1)*(y2-y1)-(x2-x1)*(yq-y1)=0,点就在直线上.如果要判断是否在端点为(x1,y1),(x2,y2)的线段上,还要判断min(x1,x2)<=xq<=max(x1,x2)和min(y1,y2)<yq<max(y1,y2)是否同时成立.