图形中的三种常见距离

1.欧氏距离
2.城市街区距离
3.棋盘距离

1:欧氏距离是最直观的距离,D的平方=(x1-x2)(x1-x2)+(y1-y2)(y1-y2);

2.城市街区距离:D=|x1-x2|+|y1-y2|;

3.棋盘距离:D=MAX{|x1-x2|,|y1-y2|};

  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
能简介: 文件管理功能: 1.支持的文件格式包括:BMP、GIF、ICO、TGA、PCX、WBMP、WMF、JPEG、PNG、MNG、TIFF、JBIG、PNM,PPM,PGM、RAS,DXF ,DWF、DWG 、IGS, MIF,PLT,PRN,HPGL/HPGL2、DGN, SHP, SAT, PS/IGES 2.打开图形图像文件;支持从URL网上打开;3.打印文件:全部打印和选择打印,打印预览, 打印到文件;4.保存和读取自定义格式文件;5.将矢量图以指定的尺寸保存为光珊图或者复制到系统粘贴板上; 显示功能: 1.显示平移,自由缩放,框选放大,最佳显示;2.回溯显示;3.支持显示透明命令操作;4.支持三维文件格式显示;5.鸟瞰,鹰眼,放大镜功能; 元素支持功能:1.点;直线,折线,射线;圆,圆弧;椭圆,椭圆弧;.样条线;函数曲线;填充区域;多义线;2.文字标注;3.尺寸标注(水平,竖直,对齐,角度,半径,直径尺寸等);4.块插入;5.图片插入;6.多边形;7.引线;8.基本三维元素创建;9.图层;10.块定义;图片操作功能:1.支持多种图像文件格式的转换;2.图片的旋转,缩放变换;3.图片的alpha混合度调节;4.图片的色彩明暗调节;5.图片的多种效果支持,锐化,柔化,浮雕效果等;6.图片的合并与切割;7.读取粘贴板上的图片;8.指定大小尺寸保存图片; 属性功能:1.几何属性,颜色,线型,线宽;2.图层属性:显示,隐藏,冻结;3.尺寸属性:颜色,箭头,尺寸线属性,尺寸引线属性,尺寸文字属性,显示单位等;4.文字属性:字体和颜色;字体包括:字体名称,字体高度宽度,是否重显,倾斜,字符集,大小型文件字体(兼容AutoCAD shx字体文件)等;5.块属性:名称,基点,旋转角度,缩放比例;6.剖面线属性:名称,旋转角度,缩放比例; 创建功能: 1.创建点线圆几何等元素;2.两点或三点创建圆或圆弧;3.两点或三点创建椭圆或椭圆弧;4.相应的方式创建常见的各种元素; 编辑构造功能: 1.可以修改元素的几何或显示属性;2.复制,粘贴,删除;移动,旋转,镜像,阵列,打断,延伸等功能; 选择和捕捉功能: 1.单选,多选,框选,过滤选择;2.可以捕捉所有元素及其延长线;3.关键点捕捉:支持起点,终点,点,心点,切点,交点,相线点,平行,垂直,延长线相交点; 计算功能:1.两点距离,几何长度,周长的计算;2.面积计算;3.角度计算;4.点是否在区域内;5.交点计算;6.点选封闭区域,填充算法;7.最大,最小封闭区域算法;8.最短路径算法; 系统属性设置功能:1.系统缺省的属性设置; 接口函数: 1.所有功能都提供接口函数供二次开发者使用;2.每个元素都有唯一的ID号;用户可以根据ID号把图形系统和自己的系统联系起来;3.接口以DLL库和OCX两种两种方式提供; 其他功能:1.将windowsTuretype字体转换为矢量图形(TTF2DXF);2. 生成插入块的缩略图;
4.1 SNGraph 一 点、向量 基本运算 二 直线(线段、射线) 直线(线段、射线)用起点、方向(单位向量)、线段长度表示。 包括如下功能:  点是否在直线上。  假定点在直线上,点到直线起点的有向距离。如果点在直线上,点到直线距离为n。如果n>=0,则点在射线上;如果(n>=0)&&(n <= 线段长度) ,则点在线段上。  两直线是否平行或重合。  两直线是否重合。  两直线是否垂直。  两直线交点。  两非平行直线距离。  求垂足。 三 平面 通过过平面一点和方向(单位矢量)表示平面。包括如下功能:  点到平面的有向距离。通过平面标准法向量和距离,可以求垂足;通过点到平面的距离的正负,可以看出多个点是否在同侧;如果点到平面的距离为0,则点在平面上,否则不在平面上。  直线是否在平面上  平面和直线的交点 通过调用其他功能可以实现的功能:  平面的法向量平行于直线,则平面和直线垂直  平面的法向量垂直于直线,则平面和直线平行  平面的法向量平行(垂直)则平面平行(垂直)  平行平面的距离等于平面任意一点到另一平面的距离 四 矩阵 包括以下功能:  初始化为单位矩阵。  为向x,y,z方向缩放建立矩阵。  为任意方向缩放建立矩阵。投影平面,可以通过向平面法线方向缩放0实现。平面镜像,可以通过向平面法线方向缩放-1实现。  为对一个点镜像建立矩阵。  为对一条直线镜像建立矩阵。  为对一条对称轴旋转建立矩阵。  求对应行列式的值。  求逆矩阵。  求转置矩阵。  左乘。  求对应行列式的代数余子式。  常见运算符。 4.2 SN 封装了许多基础的功能。 一 接口  读写锁。 二 避免依赖其它类库 有些类经常用于库间接口,所以需要避免依赖其它类库。  字符串类、函数,比如:宽字符、多字符间的转换。  时间类。  数组的封装。 三 其它  将错误信息记录到全局变量,应用场景:构造函数和析构函数throw会引起不可预料的问题。  安全缓存,额外开辟若干个字节的空间,并初始化为一个特定值,如果不越界,这些值不会改变。  智能指针,为了将关联降为依赖。CAutoPtr<C> m_pC代替C m_c,头文件不需要引用C类的头文件。只需要声明C类,在源文件引用C类的头文件。  MD5。  RSA。  SHA。  考虑溢出的加减法。比如:int型的10亿加20亿,-10亿减20亿。  通过表名、列名、某些列的值生成sql语句。  安全指针和防野指针类。防野指针类:在构造函数将状态初始为已初始化,在析构函数将状态设置为已释放。安全指针在使用时之前判断 防野指针类释放是“已初始化”,否则抛出异常。  将有参数的函数统一成没参数返回值类型void的仿函数。  遍历文件夹的文件和子文件夹。  随机数和排列组合。  系列化和反系列化。将对象和变量转化成二进制,并将二进制转回变量和对象。  拆分,如字符串。 4.3 SNMFC 一 网络功能  网络基本功能:如获取本机IP,通过域名获取IP,IE版本。  HTML对话框的封装类。  用于服务端的,带“回调类”的绑定监听类,利用IO完成端口。  用于客户端的,带“回调类”连接类,利用select模式完成,可以指定是否开启新线程。连接时,可以指定超时时间,默认5秒。如果直接调用系统的connect,超时时间是75秒。  能够自动处理“粘包”、“拆包”的二进制解析类。  安全套接字的辅助类,如:设置发送、连接超时。  比较服务端的某个文件夹和客户端的某个文件夹,并更新那些md5不同的文件。 二 多线程  用临界区实现的线程锁,和线程读写锁。  窗口辅助类。  开启一个线程并调用一个函数。  开启一个线程并循环调用一个函数。  支持多线程的日志。  启动一个线程,等待若干秒后,Post或Send一个消息后,结束线程。 三 界面  三态树控件。  列表框扩展类和函数。  树控件的扩展。  组合框的扩展。  关于窗口功能的封装。比如:从左到右依次排列子窗口,排不下则下一行。可以指定行间距。页眉和页脚是行间距的一半。  位图的加载和显示。 四 其它  Ini文件。  数组封装类。  获取硬件信息,如网卡。  文件或文件夹的常用功能。  注册表的扩展。 4.4 SNSTL  数组(向量)扩展。  用于多线程的向量。  JSON解析。  集合的扩展。  映射的扩展。  指针向量,可以存派生类。  指针映射,可以存派生类。 4.5 其它库  UnitTest,本机单元测试项目,对整个库的重要功能进行单元测试。  SNBCG,著名界面库的扩展,几乎没使用。  SNPicture,图形图像的处理(如转换bmp格式),几乎没使用。  SNMath,数学及数据结构库,几乎没使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值