- 博客(26)
- 收藏
- 关注
原创 判断点是否在多边形内
<br />判断点是否在多边形范围内有很多方法,我这里选的是一个比较直观简单的方法,就是取过多边形中心点的一条水平(或垂直)的割线,计算位于中心点某一侧(左或右,只用一侧)的割线与多边形的交点数,如果是奇数,则点位于多边形内;如果为偶数,则位于多边形外。这个判断要过滤割线正好过多边形的一个结点的情况。<br /> <br /><br /> <br />一侧割线与多边形有偶数个交点,则点在多边形外<br /><br />一侧割线与多边形只有奇数个交点,则点在多边形内<br /> <br /><br />一侧割
2011-01-03 18:22:00 2371
原创 计算线段的交点
<br />/*获得X1,Y1,X2,Y2的交点,无交点时返回FALSE,Flag为1时交点必须位于两个矩形交叉区域内,Flag为2时交点为广义交点,即直线的延长线有效<br />注意:Flag为2时前四个参数一定为剪切线<br />参数为3时,求出的交点不被范围限制 }<br />*/<br />bool CGeoUtils::getIntersectedPoint(double X1,double Y1,double X2,double Y2,double X3,double Y3,double X4,
2011-01-03 18:09:00 1483
原创 判断点是否在直线上
<br />这是一个纯解析几何的题目,不是有一个直线外一点到直线的距离公式吗?是的,不过在GDI的领域,不需要这样去考虑问题,不需要考虑直一方程,我们直接可以从坐标对上着手。<br /> <br />struct CGeoXY<br />{<br /> double dx,dy;<br />};<br /> <br />/*参数说明<br /> pXY是一条直线的所有坐标对数组<br /> nPointCount是数组中的点数<br /> dx,dy是要计算的点<br /> dOff
2011-01-03 18:08:00 9187
原创 字体旋转的位置控制
<br />MFC中对字体的描述是通过LOGFONT结构来实现的:<br /> typedef struct tagLOGFONT { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet;
2011-01-03 18:01:00 2385 1
原创 离散点插值算法
<br />上一篇讨论了离散点如何生成等值线的思路,其需求基本上是根据特定的数值计算坐标,即计算插值线的位置。而也有需求是根据坐标求数值,即将离散点的空白处全部插值生成平滑过流的栅格矩阵。<br /> <br />离散点插值的算法非常多,最经典的如克里金插值,它是最合理的区域地理空间离散点插值算法,而这里介绍的是最常用最直观最简单的距离倒数加权平方插值算法。算法名字很难理解,其实说白了就是根据所求点坐标与所有(或指定区域范围内)离散点的距离作为权重影响数值来计算,离采样点越远的点,受采样点的影响越小,也就是
2011-01-03 10:30:00 19910 5
原创 离散点生成等值线的流程和实现方法
离散点生成等值线是空间插值中的一种常用方法,基本需求是(以2维为例):1,点是离散的,非规则网格,具体不同的XY坐标;2,点具有不同的权值,可能不止一个权,权与权之间也可能有关联关系,最简单的情况是单权值;3,需求是指定一定的值间隔,来生成等值线,也就是说根据值求插值坐标;4,也有可能是求某个坐标处的插值数值。基本思路是:1,建立网格,求每个网格点的数值。2,选定一个矩形开始,追踪等值线,等值线一定是连续的,所以在相邻矩形边界上的一个数值点,肯定会在下一个矩形中找到后续点。而且,一定是成对出现的,也就是说,
2011-01-03 10:15:00 15964 9
原创 GIS地理信息系统中的位图透明画法,可用在栅格影像数据的显示上
<br />栅格数据的显示是GIS中的一个基本需求,通常就是用Bitmap位图根据一定的空间坐标转换方式计算出起点和尺寸,画在屏幕上。有些需求要求将位图“透明”地画在屏幕上,通常实现的方式就是将位图处理为均一底色(如黑色或白色)加栅格像素点的方式,再用TransparentBlt画在屏幕上,画的时候指定黑或白为透明就可以了。如下图所示:<br /> <br /><br /> <br />原始bitmap数据为这个样子:<br /> <br /><br /> <br />实现方式为:<br />BOOL CD
2011-01-03 09:35:00 2539
原创 GIS地理信息系统中的空间地理坐标与屏幕坐标的对应关系
空间图形显示是GIS地理信息系统的一个基本功能,而实现这个基本功能的一个最基础的条件就是要建立空间地理坐标与屏幕坐标的对应关系。如下图所示,一个矩形地物地空间上的坐标(WGS84经纬度)是(121.34, 31.45~***),浮点 ,而对应在计算机的显示窗口上,它的坐标可能是(100,56~***),整形,因此,必须建立一个转换公式来维持这种变换关系。这种变换包含以下几个关键参数:1,坐标原点,包括空间地理坐标原点和屏幕坐标原点;这是坐标系的起点和XY定义的方向,空间地理坐标原点通常与特定的坐标和投影系统
2011-01-03 09:24:00 5596
原创 “不占内存”的超大Bitmap读取和显示
<br />在VC中读取和显示Bitmap并不难,也有很多网友提供了扩展的CDib类以提供不同方式的优化和更新。我遇到的一个需求就是要求读取超大的CBitmap类,要求以最低的内存占有量和最快的显示速度来读取并显示bitmap。<br /> <br />常用的海量数据读取优化方式有二种,一种就是不直接读入数据,自己建索引表,将数据映射到索引表中,即在索引表中为每个数据元素建立地址起始和偏移对应关系。因为索引表通常只是元素的描述头和地址起始及偏移信息,占有内存不大,所以可以驻留进程内存;对数据文件的读写是只a
2011-01-03 09:04:00 3649
原创 (转)赵云在长坂坡杀的都是些什么人?一一道来...
转自(http://blog.sina.com.cn/u/476745f6010008j8)作者原文:长坂坡赵云枪挑曹营50员上将都是谁?其实帖子的资料来源于张国良的苏州评话《三国》。(注:张国良个人在四十余年书坛艺术实践中体会到,长篇评话《三国》,不但在内容和情节上对原来的演义本作了很大的丰富和发展,而且在通俗化方面也比演义大大跨进了一步。它富有民间口头文学的艺术特色,因此就更为广大群众所喜
2007-06-14 17:00:00 31157 52
原创 Nikkor AS-F DX 18-200mm 镜头的国外评测译文(还没译完)
基本信息Nikon发布D200的一个令人惊讶的事是与此配套的DX系列广角和远摄镜头。对于Nikon来说,为消费级相机发布新套头并不是件新鲜事,但引入注目的是这是一款18-200mm焦段加上防抖和AF-S自动对焦的产品,除了超广角、超远摄、超微距和超低照度以外,看起来是一个无所不能镜头。换句话说,你可以“一镜走天下”。这个完美的怪物在市场上被叫作“超级镜头”,尽管大多数指标其实并不是超级。
2007-06-12 09:32:00 6344 1
原创 一张老照片上看故乡内江
19岁来到上海,呆了快15年,越来越快成为“上海人” 了,对故乡的记忆越来越淡,越来越模糊,就是一个川中的小城,朴素、清贫、缓慢、城市上空永远有淡淡的雾霾、没有装饰的红砖老楼房、灰灰的街道...已经淡漠得太久太远了。昨天在网上不经意看到一张老内江的照片,却有点惊异了。 经常寻访的是上海周边周庄、朱家角、甪直等古老水乡,仿佛只有这些名词才能真正成为历史的代表,殊不知在自己的家乡也有沉淀
2007-05-24 09:43:00 2604
原创 图形编辑软件的副产品:一个基于VS2005的建模工具
功能:1,可以以标准 UML 方式创建类图(Class Diagram),目前只支持类图,以后再支持Use-Case吧;2,支持和Rational Rose一模一样的可视化操作、点选、拖放等,并且支持任意缩放。3,可以根据C#代码反向工程生成图形;4,可以根据图形生成C#代码(还没做完:))5,差不多就是这些功能了
2007-05-21 12:47:00 1434
原创 上海-重庆自驾准备笔记
现在主要就是在等沪蓉高速通车,这样从宜昌到万州这一段就可以快速通过,极限情况下,两人交换驾驶可以一日之内到达重庆,并且轮胎也不用专门准备。 如果能从上海走湖州到芜湖,不过合肥,似乎路线会更近一些。但这一段缺乏全程的高速,需要密切注意。 安徽据说是乙醇汽油,湖北和四川呢?还不是很清楚。 如果不能一天到达,那就准备在武汉中途逗留一天,玩玩拍拍。最近又发现在黄梅到黄石高
2007-03-12 09:32:00 2059
原创 sqlserver中实现递归查询
create function iterate_fun(@id int)returns @t table(id int,parentid int,level int) begindeclare @i intset @i=1insert @t select id,parent_id,@i from b_project_land where parent_id=@idwhile @@rowcountb
2007-02-27 13:06:00 1101
原创 机床厂外面的河坝
春天又来了,河对门的山重新青翠一片,风也变得很温暖;穿过后厂门河坝街交叉口,走在那条有煤渣和水的小巷中,右边是住着内迁上海人的白砖楼房,左边围墙内是个什么小厂,总是堆着一些生满锈的零件和铁丝。走出小巷是一个由卡车倾倒垃圾费石费料堆起来的一个平台顶,站在边上就能看到整个河坝和沱桥了,心情立刻变得兴奋了。整个河坝都是鹅卵石和干沙子,布满了挖沙船挖出的一个个大坑,常常有人搭了巨大的木头架子技术骨
2007-02-12 13:07:00 1744
原创 我的大学
刚走进七舍的宿舍(110,和报警电话一样),条件是吃惊地差啊,光线不好,房间朝北,一楼潮湿,灰尘遍地,也没想到会在后来堆满二年都没收拾干净过的酒瓶垃圾,空空的床架上也是落满灰尘,这哪象个高等学府的宿舍啊,在这里怎么可能过传说中的象牙塔生活呢? 经常穿过七舍外面成堆的自行车到篮球场上踢足球,因此也大大加快了球鞋的磨损速度,以至于后来寝室一角堆满了左脚鞋。体育系地
2007-02-09 14:03:00 1974
原创 OpenGL之三维GIS
相对于二维图形开发,大家一般认为三维开发要难很多。其实也不一定。相比二维开发,三维开发一般都是在三维图形引擎的基础之上进行的,比如常用的OpenGL或DirectX,而在工程和行业应用领域中,OpenGL比较流行一样(DX在多媒体相关开发中比较流行)。三维引擎一般提供了比较好的底层接口,包括显存/内存数据交换、快速体绘制算法、视场、光照、帖图及一些工具箱等的支持,大家在此基础上很方便地就能显示
2007-02-09 13:10:00 9594 7
原创 自已写一个ArcMap的TOC控件
很久以前写过一个类似于ArcView的图例控件,就是可以列出多个图层,然后用鼠标可以点击每个图层并设置可视可边界以及拖放。一直用了好多年。后来在ArcGIS 8中第一次见到TOC控件就很喜欢,简洁易用,并且在显示专题图层时表现专题分级效果很好,就一直想找机会写一个。前段时间有点空,就利用帮义乌项目做DEMO的机会,做了一个控件,效果还不错。除对栅格图层的支持还编弱以外,其余的功能有点接近TOC了。
2007-02-08 09:20:00 2541
原创 矢量图形开发中的动态注记实现
在矢量图形程序开发过程中,需要显示每个矢量对象的注记,比如地图中各个城市的名称、道路的名称等;而通常图形数据都是按多层来进行组织的,也就是说,在屏幕上看到的电子地图,可能是分别由行政区多边形层、道路线层、城市点层等迭加而成。如果不加限制地显示注记(直接把每个地物的注记文本TextOut出来),有可能会造成文本相互间的重叠,影响显示效果,这与专业地图生产的整饰要求是相违背的。大家可以去翻看任何一本正
2007-02-08 09:07:00 2277
原创 图形程序中的自定义线型
GDI/GID+中提供的线型总是有限的,在一些行业应用领域,需要有非常专业的线型定义,如“铁路线”、“长城线”、“断崖”、“国界线”等,这就需要进行自定义的开发。我的实现思路是:先制作一些线型的图元(图元就是线型的一个片断),矢量格式,然后用线型类来调用,重载系统的MoveTo和LineTo,调用时不用关心底层实现,只要设好线型类型就行。这样设计可以比较方便地实现自定义线型,不过在线型的转角和
2007-02-08 08:49:00 1744 1
原创 Google Earth上的四川威远环状背斜地质构造
大学二年级暑假回家,为了写一篇关于家乡的国土资源方面的“学术” 文章,找了很多资料,其中在一本“内江市国土资源概况”书上看到有一段关于内江基础地质地貌的描述,说到“威远县西北部发育有螺旋环状背斜地质构造”,当时就很向往。只知道威远产煤,但“螺旋环状的背斜”还从未听说过,也就更不可能见过,也许这就是威远煤层出露的原因之一?当时也就只能猜想了。 前几天看Google Earth,突然
2007-02-06 08:57:00 4562
原创 Delphi曾经的辉煌与Visual Studio 2005中的Delphi精神不死
第一次接触到Delphi,是1994年第一次看到一个蓝色汽车中控台风格的安装界面。看惯了Visual Basic 3及微软产品严肃风格的界面,我们立即就被这个带有些许灵气和创新气质的产品吸引了。1993年买的第一本计算机编程书是姚庭宝的《Pascal编程大全》,一直困惑于没有一个Visual Pascal的产品存在——那时还不清楚MS与Borland的竞争关系以及Basic与Pascal的
2006-10-24 12:34:00 1853
原创 回忆去年11月份吐鲁番之行
一大早(也不早了,10点)起来,我们仨就谋划着外出旅游,但在目的地方面还是没有统一:达坂城?吐鲁番?南山?还是天池?来到维族同胞聚集的南郊汽车站,查清班次后,就最终定下了今天的行程:吐鲁番,高昌故城和火焰山。这时候,时间已经是11点钟了。 上了车,车上也是以维族人居多,其中不乏身强力壮,目光狡黠的男子,大家心里多少也有一些胆战心惊。一离开车站,汽车缓慢行驶在一条破败的小路上,让我们都开始
2006-10-24 12:14:00 1532
原创 回忆研究生三年
读研前接触过MapInfo,也只是翻译其技术文档,那时条件真差,能用上386机器已经是奢侈之极的事,大多数人对计算机的了解也只停留在WPS打字和DBASEIII上。研一时,觉得最大的不同就是有了更多的时间来考虑一些有意思的事情,也就有空逐一实现了“迪杰斯特拉”最优路径算法、多边形填充算法、线型算法、DEM简单模型、地理坐标/屏幕坐标转换、分形技术...的程序研究,每取得一点进步,感到又有更
2005-10-20 12:00:00 1732 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人