判断点在多边形内算法
摘要:点和多边形关系的算法实现 好了,现在我们已经了解了矢量叉积的意义,以及判断直线段是否有交点的算法,现在回过头看看文章开始部分的讨论的问题:如何判断一个点是否在多边形内部? 根据射线法的描述,其核心是求解从P点发出的射线与多边形的边是否有交点。注意,这里说的是射线,而我们前面讨论的都是线段,好像...
阅读全文
posted @
2014-06-21 10:20
3D入魔
阅读(16388)
推荐(2) 编辑
用矢量的叉积判断直线段是否有交
摘要:用矢量的叉积判断直线段是否有交 矢量叉积计算的另一个常用用途是直线段求交。求交算法是计算机图形学的核心算法,也是体现速度和稳定性的重要标志,高效并且稳定的求交算法是任何一个 CAD软件都必需要重点关注的。求交包含两层概念,一个是判断是否相交,另一个是求出交点。直线(段)的求交算法相对来说...
阅读全文
posted @
2014-06-21 10:15
3D入魔
阅读(3252)
推荐(1) 编辑
几何常用算法与判断线段相交【转】
摘要:下面这个函数在我写的计算几何库函数里面有,那个库可以在http://algorithm.126.com/的资源中心-代码角找到。算法简单说明:首先判断以两条线段为对角线的矩形是否相交,如果不相交两条线段肯定也不相交。(所谓以a1b2为对角钱的矩形就是以两边长为|a1.x–b2.x|和|a1.y–b2...
阅读全文
posted @
2014-06-20 17:45
3D入魔
阅读(7878)
推荐(0) 编辑
几个开源几何计算数学库
摘要:简单介绍几个计算几何的资源a) GeosGeos的全称就是Geometry Engine Open Source,参考网站就是:http://geos.refractions.net,从名称就可以看出,Geos就是判断几何体的过程。Geos是用C++语言写的处理计算几何的开源库。b) CGALCGA...
阅读全文
posted @
2014-06-20 16:03
3D入魔
阅读(9082)
推荐(0) 编辑
C++的XML编程经验――LIBXML2库使用指南[转]
摘要:C++的XML编程经验――LIBXML2库使用指南写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML库,而且它同时支持多种编程语言;2)LIBXML2库的Tutorial写得不太好,尤其是编码转换的部分...
阅读全文
posted @
2014-06-13 15:25
3D入魔
阅读(1089)
推荐(0) 编辑
C++ XML解析之TinyXML篇[转]
摘要:最 近使用TinyXML进行C++ XML解析,感觉使用起来比较简单,很容易上手,本文给出一个使用TinyXML进行XML解析的简单例子,很多复杂的应用都可以基于本例子的方法来完 成。以后的文章里会讲解使用Xerces进行C++ XML解析的例子,希望大家一起交流。TinyXML是一个开源的解析XM...
阅读全文
posted @
2014-06-12 14:25
3D入魔
阅读(623)
推荐(0) 编辑
TinyXML:一个优秀的C++ XML解析器[转]
摘要:TinyXML:一个优秀的C++ XML解析器读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或...
阅读全文
posted @
2014-06-12 14:20
3D入魔
阅读(317)
推荐(0) 编辑
C++中使用union的几点思考(转)
摘要:C++中使用union的几点思考大卫注:这段时间整理旧资料,看到一些文章,虽然讲的都是些小问题,不大可能用到,但也算是一个知识点,特整理出来与大家共享.与此相关的那篇文章的作者的有些理解是错误的,我写此文,也是纠正为了作者的一些错误认识.当然,如果我的理解有任何错误,也恳请大家批评指正.C++虽说被B.S.称作一门新语言,但它毕竟与C有着千丝万缕的联系,虽然B.S.一再坚持,但我还是愿意把C++看作是C ++.我们应该按照C中的convention去使用union,这是我这篇文章要给出的观点.虽然C++使得我们可以扩展一些新的东西进去,但是,我建议你不要那样去做,看完这篇文章之后,我想你大概也
阅读全文
posted @
2013-10-28 13:43
3D入魔
阅读(3196)
推荐(0) 编辑
string <-> wstring
摘要:// std::string -> std::wstringstd::string s("string");std::wstring ws;ws.assign(s.begin(), s.end());// std::wstring -> std::stringstd::wstring ws(L"wstring");std::string s;s.assign(ws.begin(), ws.end());
阅读全文
posted @
2013-09-22 16:13
3D入魔
阅读(223)
推荐(1) 编辑
C++箴言:理解typename的两个含义(转)
摘要:C++箴言:理解typename的两个含义2005-12-05 09:14 来源:BLOG 作者:fatalerror99 责任编辑:方舟·yesky 评论(17) 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? template<class T> class Widget; // uses "class"template<typename T> class Widget; // uses "typename" 答案:没什么不同。在声明一个 tem
阅读全文
posted @
2013-03-29 15:56
3D入魔
阅读(231)
推荐(0) 编辑
光线与椭球体相交 求交点 算法
摘要:bool ClipsEllipSimple(double AAxis,double BAxis,double CAxis, //椭圆的三个轴长 double x1,double y1,double z1, //直线的一个端点 double x2,double y2,double z2,osg::Vec3d* out_pt1,osg::Vec3d* out_pt2) //直线的另一个端点 { double ta,tb,tc; //参数方程的参数 double delt; //判断一元二次方程是否有根,求交用 double ASquare,BSquare,CSquare; //分别代表椭球三...
阅读全文
posted @
2013-02-25 14:53
3D入魔
阅读(1046)
推荐(0) 编辑
CString、std::string格式化字符串
摘要:=============================CString==================================当有多个字串时,比如 int n1 = 5; int n2 = 10; char sz1[] = "abcdefg"; char sz2[] = "hijklmn"; 用std中的string如何写出最简单的代码得到MFC中CString如下效果: CString s; s.Format(" result: %d + %d = %d/n sz1: %s/n sz2: %s/n...
阅读全文
posted @
2013-02-20 16:17
3D入魔
阅读(13611)
推荐(0) 编辑
利用ATL技术创建ActiveX控件CircleCtl 。简单介绍 VC2003 使用 ATL 开发 ActiveX 控件(转)
摘要:利用ATL技术创建ActiveX控件CircleCtl 1) 创建ATL项目 使用ATL COM AppWizard 创建ATL框架为该项目命名为Circle,按照向导提示向下做,采用默认设置,即Server Type类型为Dynamic Link Library(DLL)。 2) 向ATL项目添加ActiveX控件 首先从Insert菜单项中选择New ATL Object…调出 ATL Object Wizard对话框,然后左边Category列表选择Object,右边相应地选择Full Control,如图(1)所示。按Next继续,出现 ATL Object Wizard属性对...
阅读全文
posted @
2012-06-10 16:45
3D入魔
阅读(673)
推荐(0) 编辑
Web发布cab文件打包的ActiveX控件总结 (转)
摘要:一、程序描述:程序环境:windows Xp sp2, ie 6, tomcat 5.5, vc++6.0程序过程:控件做成ocx文件,用于客户端调用本地硬件,其中有用到第三方几个.dll文件。采用windows自带iexpress.exe 打包成cab文件,在服务器端jsp页面进行控件调用,下载cab文件并自动注册。二、程序问题:遇到问题:1. cab文件无法下载,而且根本不加提示。2. 下载好的cab文件在system32中能够看到,但是页面仍然不能显示,一把红叉,并且无法使用。问题测试:1. 浏览器页面根本没有下载提示,考虑应该是cab的路径问题,也曾考虑是ie浏览器的安全问题。将安全降
阅读全文
posted @
2012-06-10 16:40
3D入魔
阅读(340)
推荐(0) 编辑
使用ATL开发ActiveX控件
摘要:http://www.cnblogs.com/chinadhf/archive/2010/09/03/1817336.html本文描述了使用ATL开发一个ActiveX控件的完整过程。一、创建项目单击起始页中的“New Project…”,选择“ATL”分类下的“ATL Project”项目,项目名称为“Calculator”。在随后出现的项目向导中,使用默认配置即可。 二、添加控件在解决方案管理器中的项目上右击,依次选择“Add”、“Class”,在添加类对话框中选择ATL分类下的ATL Control类型。单击“Add”按钮,将会出现添加ATL Control向导。 在向导的第二步中,将.
阅读全文
posted @
2012-06-10 16:38
3D入魔
阅读(358)
推荐(0) 编辑
用ATL开发和部署ActiveX网页控件(转)
摘要:用ATL开发和部署ActiveX网页控件摘 要 ActiveX插件技术广泛的运用于B/S系统中,本文通过一个项目实例,详细介绍用ATL开发和部署ActiveX网页控件的过程。学习使用ActiveX让浏览器访问客户端的硬件资源。关键字 ATL,ActiveX控件,COM组件一、前言在B/S结构的系统中,出于安全性考虑一般不准许浏览器访问客户端的硬件资源,如控制打印机,照相机等。对于一个完善系统来说,往往很多时候又需要控制这些资源。通过在浏览器中插入ActiveX插件是一种很好的解决方式。在实际的项目开发中,遇到系统登录需要增加物理身份识别。即在系统登录的时候,除了要验证用户名和密码外,还需要验证
阅读全文
posted @
2012-06-10 16:30
3D入魔
阅读(510)
推荐(0) 编辑
不用安装界面器实现系统支持xvid编码器
摘要:怎样不安装视频界面器就能让系统支持xvid编码格式?解决方法如下:xvid.dll,xvidcore.dll,xvidvfw.dll,xvid.ax 拷贝到system32下。注册表加入HKEY_LOCAL_MACHINE"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc"xvidvfw.dll = XviD MPEG-4 Video CodecHKEY_LOCAL_MACHINE"SYSTEM\CurrentControlSet\Control\MediaResources\icm\vidc.XV
阅读全文
posted @
2012-06-05 17:06
3D入魔
阅读(565)
推荐(1) 编辑
BitBlt 注意事项(CAPTUREBLT) (转)
摘要:BitBlt 注意事项(CAPTUREBLT) 分类: C/C++ VC 2011-08-01 17:29 BitBlt 函数用于在设备间传递某块像素,例如向窗口表面呈现位图,或是复制屏幕 (截屏) 。这篇文字讲述了复制屏幕过程中需要注意的问题。基本过程:创建源设备上下文 (hDC = CreateDC,GetDC,GetWindowDC) 。创建兼容的设备上下文 (hMemDC = CreateCompatibleDC) 。创建兼容位图 (hBmp = CreateCompatibleBitmap) 。将 hBmp 选入 hMemDC (hOldBmp = SelectObject) 。进.
阅读全文
posted @
2012-05-15 10:59
3D入魔
阅读(3038)
推荐(0) 编辑
VC++ MFC DLL动态链接库编写详解 (转)
摘要:VC++ MFC DLL动态链接库编写详解 MFCVC++CC++C#虽然能用DLL实现的功能都可以用COM来替代,但DLL的优点确实不少,它更容易创建。本文将讨论如何利用VC MFC来创建不同类型的DLL,以及如何使用他们。一、DLL的不同类型使用VC++可以生成两种类型的DLL:MFC扩展DLL和常规DLL。常规DLL有可以分为动态连接和静态连接。Visual C++还可以生成WIN32 DLL,但不是这里讨论的主要对象。1、MFC扩展DLL每个DLL都有某种类型的接口:变量、指针、函数、客户程序访问的类。它们的作用是让客户程序使用DLL,MFC扩展DLL可以有C++的接口。也就是它可以导
阅读全文
posted @
2012-05-15 10:21
3D入魔
阅读(650)
推荐(0) 编辑
实现MFC扩展DLL中导出类和对话框 (转)
摘要:实现MFC扩展DLL中导出类和对话框 2006-03-02 15:54作者:江上飞鸟出处:vckbase责任编辑:方舟 如果要编写模块化的软件,就要对对动态链接库(DLL)有一定的了解,本人这段时间在修改以前的软件时,决定把重复用的类和对话框做到DLL中,下面就从一个简单的例子讲起,如何实现MFC扩展DLL中导出类和对话框。 一、创建MFC扩展DLL 步骤: 运行Visual Studio 6.0->File->New...->Projects; 选择Mfc AppWizard(dll),在右边Project name下输入ExportClass,单击“下一步”; 选择Mfc
阅读全文
posted @
2012-05-14 16:32
3D入魔
阅读(515)
推荐(0) 编辑