??xml version="1.0" encoding="utf-8" standalone="yes"?>ս5׿޴:C++博客-首页原创_֍?/title><link>//www.pppqb.icu/</link><description>专注于C++技?/description><language>zh - սƵ2019|սع//www.pppqb.icu/eryar/archive/2019/04/18/compile_occ730_vs2008.htmleryareryarWed, 17 Apr 2019 23:17:00 GMT//www.pppqb.icu/eryar/archive/2019/04/18/compile_occ730_vs2008.html//www.pppqb.icu/eryar/comments/216353.html//www.pppqb.icu/eryar/archive/2019/04/18/compile_occ730_vs2008.html#Feedback0//www.pppqb.icu/eryar/comments/commentRss/216353.html//www.pppqb.icu/eryar/services/trackbacks/216353.html

Compile OpenCASCADE7.3 with VS2008

eryar@163.com

 

1. 概述

?span style="margin: 0px; padding: 0px; font-family: "Times New Roman";">OpenCASCADE的源码文件夹中有?/span>adm文g夹,里面提供了各个^C~译源码的项目文件。其中在Windows操作pȝ中用微软的Visual Studio?/span>msvc文g夹中提供?/span>VS相应版本的项目文件。所以在使用批处理对OpenCASCADE源码q行~译的时候,会根?/span>vc的版本来启动相应版本?/span>visual studio。如果文件夹中没有对应的VS版本Q就打不开相应?/span>VS?/span>

 

在最新版本的OpenCASCADE7.3.0中,没有提供VS2008的项目文件。所以对于想?/span>OpenCASCADE用于老的pȝQ如XPpȝ中时Q或者主E序是用VS2008~译的,q时需要将OpenCASCADE?/span>VS2008来编译了?/span>

2. 生成VS

其实OpenCASCADE?/span>VS目都是采用Tcl脚本生成的,而且生成的脚本里面还保留了对VS2008的支持。下面就介绍一下如何生?/span>VS目。在OpenCASCADE源码文g夹中有个批处理文?/span>genproj.bat

 

׃q个批处理会调用Tcl文g中的命oQ所以需要将Tcl加入到环境变?/span>PATH中以便于q行Tcl脚本文g中的命o。如上图?/span>

SET "PATH=%PATH%;D:\OpenCASCADE-7.3.0\tcltk-86-64\bin;"

是Tcl加入到PATH的一U方法,配置好这个就可以直接双击genproj.batQ运行截囑֦下:

 

Ҏgenproj.bat中的注释可知genprojq可以带上参敎ͼW一个参数是VS~译器的版本Q第二个参数是操作系l。我们要生成Windows操作pȝ?/span>VS2008的项目,所以输入参敎ͼ

genproj vc9 wnt

q样q成了VS2008的项目了Q?/span>

 


Z方便大家在移动端也能看到我的博文和讨Z,现已注册微信公众PƢ迎大家扫描下方二维码关注?/h5>Shing Liu(eryar@163.com)


eryar 2019-04-18 07:17 发表评论
]]>
武汉Ƨ凯德信息科技有限公司 - սƵ2019|սع//www.pppqb.icu/eryar/archive/2019/04/08/wuhan_ocade_intro.htmleryareryarMon, 08 Apr 2019 03:34:00 GMT//www.pppqb.icu/eryar/archive/2019/04/08/wuhan_ocade_intro.html//www.pppqb.icu/eryar/comments/216344.html//www.pppqb.icu/eryar/archive/2019/04/08/wuhan_ocade_intro.html#Feedback4//www.pppqb.icu/eryar/comments/commentRss/216344.html//www.pppqb.icu/eryar/services/trackbacks/216344.html武汉Ƨ凯德信息科技有限公司

武汉Ƨ凯德信息科技有限公司取名来源?/span>OpenCASCADE的音译,主要提供开源几何造型?/span>OpenCASCADE相关的咨询、培训和定制开发服务?/span>Open意ؓ开攑ֈ享,正是因ؓ分nQؓ他h创造h值才会有更多的回报。将会l分?/span>OpenCASCADE的一些技巧和实现原理Q共同进步?/span>

 

目前公司的品有Q?/span>

l RvmTranslator

RvmTranslator可以?/span>AVEVA PDMS/Plant/Marine中导出的RVM文gq行可视化,以及?/span>RVM转换成常见的三维文g格式。如STEPQ?/span>IGESQ?/span>STLQ?/span>DXF, OBJ, 3DPDF, 3DXML, IFC{,便于与其?/span>CADpȝq行数据交换Q如Autodesk AutoCAD, Plant3d, 3ds Max, CATIA, Solidworks, Pro/E, Unity3d, Bentley{?/span>

?/span>1 RvmTranslatorE序界面

 

?/span>2 RvmTranslator转换?/span>3DXML到达索系l?/span>

?/span>3 RvmTranslator转换?/span>STEP?/span>CATIA

?/span>4 RvmTranslator 转换?/span>IFC

 

l IsoAlgo

IsoAlgo?/span>piping Isometric drawing generation Algorithm的简Uͼ意ؓ道轴测囑և囄法。国际主的道轴测囑և囄?/span>ISOGEN是英国一家公司开发的Q现?/span>Intergraph收购Q?/span>Intergraph也在2010q被国公司Hexagon收购?/span>ISOGEN作ؓ相对成熟的YӞ也存在一些问题,如环出图成折线Q以及客L一些定制化要求不能及时反馈{?/span>IsoAlgoh自主知识产权Q全面兼?/span>ISOGEN的输入,如管道数据文?/span>PCF?/span>IDFQ以?/span>SKEY定义文g?/span>IsoAlgo生成道轴测囑֦下:






通过E序IsoAlgo3d方便地将PCF/IDF可视化,更便L昄出管道信息。以及基?/span>IsoAlgo3d定制开发相关的焊点理E序?/span>

定制开?/span>

随着国内版权意识的提高以及本地化的一些标准规范要求,考虑成本和效率,有越来越多的定制化开发服务。成功案例有Q?/span>

v GIM建模

随着国家늽数字化三l设计的推广Q提ZGIM三维设计标准Qؓ了满_|?/span>GIM工程数字化移交,为某公司定制开发了GIM建模功能Q?/span>

v FORAN定制

FORAN是一?/span>3D造船软gQ?/span>FORAN软gp班牙SENER集团开发,该公总船舶设计起家Q已?/span>50q的历史Q具?/span>40多年的造船CAD软g开发和应用l验。目前在q行软g开发和应用的同Ӟ仍然承接船舶设计目?/span>FORAN软g是世界上应用最为广泛的大型造船专业软g之一Q全球用户包括了120家以上的设计公司和造船厂,q年来更以较快的速度在全球推qѝ?/span>

定制开发了全面支持FORAN几何宏及NORM参数化模型,方便直接讉KFORAN的数据库Q脱?/span>FORAN环境q行三维可视化?/span>

 

船舶子零g?/span>

船舶子零g图也U小图Q零件图上除了图形及其标注外Q还应包括管材规根{弯数据、校数据、表面处理、安装位|等信息?/span>

 



eryar 2019-04-08 11:34 发表评论
]]>
AVEVA PDMS to DIALux - սƵ2019|սع//www.pppqb.icu/eryar/archive/2019/04/02/pdms2dialux.htmleryareryarTue, 02 Apr 2019 08:19:00 GMT//www.pppqb.icu/eryar/archive/2019/04/02/pdms2dialux.html//www.pppqb.icu/eryar/comments/216327.html//www.pppqb.icu/eryar/archive/2019/04/02/pdms2dialux.html#Feedback0//www.pppqb.icu/eryar/comments/commentRss/216327.html//www.pppqb.icu/eryar/services/trackbacks/216327.htmlAVEVA PDMS to DIALux

eryar@163.com

  Abstract. DIAL develops DIALux - the world's leading software for planning, calculation and visualisation of indoor and outdoor lighting. With a community of over 700,000 users, the light planning tool is available in 25 languages and is free of charge for users. All renowned luminaire manufacturers offer digital product data for planning in DIALux. The software makes professional lighting design easier and accessible to everyone. As a platform and tool, it connects planners and manufacturers all over the world. DIALux is available as a desktop version and as a basic mobile app.

DIALux can import model by IFC, so use RvmTranslator to convert PDMS model to IFC format and imported by DIALux for lighting calculation.

Key Words. DIAlux, IFC, RvmTranslator

1. Introduction

首席灯光环境模拟与计Y?/span>DIALux德国DIAL研发Q能满照明设计的所有需求:从标准化的室内、户外或街道的照明规划与计算Q到专业的灯光设计、视觉立体化、能量评伎ͼ模拟效果接近真实Q方便设计师验证各种Ҏ用法Q导出报告,全方位协助设计师高效完成创作?/span>

DIALux完全免费开放下载,有含中文在内?/span>26U语a版本Q在全球?/span>100多万用户Q在中国大陆?/span>10万多名用P用户主要包含照明设计师、徏{师、工E公司等Q是全球领先的照明规划与计算软g?

 

PDMS主要用于工厂辅助设计Q其中也会涉及到仪表、电气专业。通过使用RvmTranslator可以快速地?/span>PDMS模型导入DIALux软gq行灯光照明设计?/span>

2. PDMS to IFC

RvmTranslator7.0可以?/span>PDMS模型转换?/span>IFC格式Q?/span>IFC主要用于BIM的数据交换,所以灯光设计Y?/span>DIALuxZ方便导入其他软g创徏的徏{模型,增加?/span>IFC导入的功能。?/span>IFC导入功能Q就可以导入PDMS的模型了?/span>

上图?/span>RvmTranslator转换的示例模型成IFC文g?/span>

 

上图所CZؓ导入RvmTranslator转换?/span>IFC文g?/span>DIALux.

3. Showcase

DIALux软g生成的光照效果很逼真Q下面给出几个实际工厂的光照效果的例子:

 

 

4. Download

直接在搜索引擎中输入RvmTranslator7.0Q即可以扑ֈ下蝲地址?/span>



eryar 2019-04-02 16:19 发表评论
]]>
Linux Kernel Teaching - սƵ2019|սع//www.pppqb.icu/hlong/archive/2019/04/02/216326.html中国民工中国民工Mon, 01 Apr 2019 23:26:00 GMT//www.pppqb.icu/hlong/archive/2019/04/02/216326.html//www.pppqb.icu/hlong/comments/216326.html//www.pppqb.icu/hlong/archive/2019/04/02/216326.html#Feedback0//www.pppqb.icu/hlong/comments/commentRss/216326.html//www.pppqb.icu/hlong/services/trackbacks/216326.html阅读全文

中国民工 2019-04-02 07:26 发表评论
]]>
[转]GLTF-3D囑Ş界的JPEG - սƵ2019|սع//www.pppqb.icu/eryar/archive/2019/03/30/gltf.htmleryareryarSat, 30 Mar 2019 13:47:00 GMT//www.pppqb.icu/eryar/archive/2019/03/30/gltf.html//www.pppqb.icu/eryar/comments/216324.html//www.pppqb.icu/eryar/archive/2019/03/30/gltf.html#Feedback0//www.pppqb.icu/eryar/comments/commentRss/216324.html//www.pppqb.icu/eryar/services/trackbacks/216324.htmlGLTF?/strong>

1.glTF(GL TransmissionFormat)Q即囑Ş语言交换格式Q它是一U?D内容的格式标准,?strong>Khronos Group理QKhronos Groupq管理着OpenGLpd、OpenCL{重要的行业标准Q;

2.glTF的设计是面向实时渲染应用的,量提供可以直接传输l图形API的数据Ş式,不再需要二ơ{换;

3.glTF对OpenGL ES、WebGL非常友好Q?/p>

4.glTF的目标是Q?D领域的JPEGQ?/p>

5.作ؓ一个标准,?015q?0月发布(glTF 1.0Q以来,已经得到了业界广泛的认可Q你可以怿它的水^Q?/p>

6.glTF目前最新版本ؓ2.0已于2017q?月正式发布?/p>

GLTF具体的数据存储格式可以去官方|站上看Qhttps://www.khronos.org/gltf/Q大概就是相对于XML的JSON存储方式?/p>

 

文章x的是GLTFl我们带来的便利——节约存储I间Q减带宽压力?/p>

那么如何获得GLTF格式文gQ?/strong>

目前已经有了很多的{换工P

 

其中Input代表输入模型的格式,输出为gltf格式。由于之前用过Dae格式的文Ӟhttps://www.khronos.org/collada/Q,因此文章选取COLLADA2GLTF工具转换文gQ?/p>

 

千万别纠l于工具源代码的~译Q因为KhronosGroup已经l出了Release版本。这里说一些用方法:

1.解压zip文gQ在根目录新建dae文g?#8212;—用于存放原始的dae文g

2.在根目录新徏gltf文g?#8212;—用于存放转换后的gltf文g

3.在根目录按住Ctrl+Shift+Alt+鼠标右键Q打开PowerShellH口

4.在命令行中输入:./collada2gltf-bin.exe input.dae output.gltf –i dae/input.dae –o gltf/output.gltf

其中input为dae文g的名Uͼoutput出gltf文g的名U?/p>

5.Enter开始{换?/p>

PS C:\Users\Ruby\Desktop\COLLADA2GLTF-v2.1.2-windows-Release-x64>./COLLADA2GLTF-bin.exe elf.dae elf.gltf -i dae/elf/elf.

dae -o gltf/elf.gltf

Convertingdae\elf\elf.dae -> gltf\elf.gltf

Time: 320 ms

原始dae文g包含4个jpg贴图一?strong>2.46MQ{换后?strong>一个单?/strong>的gltf文gU?strong>1.38MQ含贴图Q。其实我很好奇那些脓图文件去哪儿了,于是打开了gltf文g查看Q发现在image数组下已l把q些贴图文g用base 64~码Q变成一堆机器码直接插在gltf文g中?/p>

完成模型转换以后Q利用ThreeJS的LoadGLTF API导入|页中浏览效果如下: 

如何在GLTF格式中捕获动画?

上述q程展示了从Collada到gltf的{换以及让gltf模型展示在网上。下面将l箋研究如何获取gltf模型的动画("Talk is cheapQshow me the code"——哈哈哈) 

效果如图所C:

xQgltf从模型到动画都run了一遍?/p>

 

ȝ

GLTF格式L3D囑Ş界的JPEGQ能够实现快速的模型数据交换。在2017q中旬更新的2.0版本克服了一些低版本的功能缺P使得自n功能得到发展Q同Ӟgltf解析及{换Tool的快速发展,为GLTF的进一步推q做Z很多的A献。文中也应证了,作ؓGLTF格式的用P能够利用现有的工具对模型处理Q减模型的数据量,在WebGL的应用中在成倍地节省带宽的同时能够获取同质量的模型以及动甅R?/p>

 

原文Qhttps://cloud.tencent.com/developer/news/204942

 



eryar 2019-03-30 21:47 发表评论
]]>
解析几何求交之圆与二ơ曲?/title><link>//www.pppqb.icu/eryar/archive/2019/02/21/intana_circle.html</link><dc:creator>eryar</dc:creator><author>eryar</author><pubDate>Thu, 21 Feb 2019 14:05:00 GMT</pubDate><guid>//www.pppqb.icu/eryar/archive/2019/02/21/intana_circle.html</guid><wfw:comment>//www.pppqb.icu/eryar/comments/216252.html</wfw:comment><comments>//www.pppqb.icu/eryar/archive/2019/02/21/intana_circle.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.pppqb.icu/eryar/comments/commentRss/216252.html</wfw:commentRss><trackback:ping>//www.pppqb.icu/eryar/services/trackbacks/216252.html</trackback:ping><description><![CDATA[<h2 align="center"><strong class="dpun"><span style="font-family: 宋体;">解析几何求交之圆与二ơ曲?/span></strong></h2> <p align="center"><a><span style="text-decoration: underline;">eryar@163.com</span></a></p> <p> </p> <p>Abstract. OpenCASCADE provides the analytic intersection between a conic and a quadric in the package IntAna.</p> <p>Key Words. Analytic geometry, intersection, coninc, quadric</p> <h3>1. Introduction</h3> <p>OpenCASCADE<span style="font-family: 宋体;">中的?/span><span style="font-family: Calibri;">IntAna</span><span style="font-family: 宋体;">提供了解析几何曲U(二次曲线Q与解析曲面Q二ơ曲面)求交、解析曲面与解析曲面求交的功能。其?/span><span style="font-family: Calibri;">IntAna</span><span style="font-family: 宋体;">分别?/span><span style="font-family: Calibri;">Intersection Analytic</span><span style="font-family: 宋体;">的前三个字母~写Q表C析几何求交?/span></p> <p><span style="font-family: 宋体;">我们学过了《线性代数》中的二ơ型Q其中二ơ型在解析几何中的一个应用就是二ơ曲U和二次曲面方程的化及其性质的分析?/span></p> <p><span style="font-family: 宋体;">本文主要l合源码分析圆与二次曲面求交的实玎ͼ其他二次曲线与二ơ曲面求交的可以依此cL?/span></p> <p><img alt="" src="https://img2018.cnblogs.com/blog/534255/201902/534255-20190221214824833-1915945009.png" /></p> <h3>2. Quadratic form</h3> <p><span style="font-family: 宋体;">在解析几何中Qؓ了便于研I二ơ曲U?/span></p> <p><span style="font-family: 宋体;"><img alt="" src="https://img2018.cnblogs.com/blog/534255/201902/534255-20190221214837282-2133613567.png" /></span></p> <p><span style="font-family: 宋体;">的几何性质Q我们可以选择适当的坐标旋转变?/span></p> <p><span style="font-family: 宋体;"><span style="font-family: 'PingFang SC','Helvetica Neue','Helvetica','Arial',sans-serif;"><img alt="" src="https://img2018.cnblogs.com/blog/534255/201902/534255-20190221214848027-1841343209.png" /></span></span></p> <p><span style="font-family: 宋体;">把方E化成标准Ş式:</span></p> <p><span style="font-family: 宋体;"><span style="font-family: 'PingFang SC','Helvetica Neue','Helvetica','Arial',sans-serif;"><img alt="" src="https://img2018.cnblogs.com/blog/534255/201902/534255-20190221214858700-736435163.png" /></span></span></p> <p><span style="font-family: 宋体;">Ҏ标准形式中的pL来分析这个二ơ曲U是什么曲U,卛_、椭圆、抛物线、双曲线?/span></p> <p><span style="font-family: 宋体;">?/span>OpenCASCADE<span style="font-family: 宋体;">中解析几何的二次曲面有以下几U类型:</span></p> <p>l gp_Pln<span style="font-family: 宋体;">Q^面可看作二次曲面的特?/span></p> <p>l gp_Sphere<span style="font-family: 宋体;">Q解析球?/span></p> <p>l gp_Cylinder<span style="font-family: 宋体;">Q解析柱?/span></p> <p>l gp_Cone<span style="font-family: 宋体;">Q解析锥?/span></p> <p><span style="font-family: 宋体;">q些解析曲面都可以统一使用二次多项式来表示Q即q个二次多项式的pL定了一个二ơ曲面?/span>OpenCASCADE<span style="font-family: 宋体;">中相应的cL</span><span style="font-family: Calibri;">IntAna_Quaric</span><span style="font-family: 宋体;">Q?/span></p> <p><img alt="" src="https://img2018.cnblogs.com/blog/534255/201902/534255-20190221214911122-186510965.png" /></p> <h3>3. Math Trigonometric Function Roots</h3> <p>OpenCASCADE<span style="font-family: 宋体;">中类</span><span style="font-family: Calibri;">IntAna_IntConicQuad</span><span style="font-family: 宋体;">中提供了二次曲线与二ơ曲面求交功能,其中计算圆与二次曲面怺的函数是Q?/span></p> <p>  //! Creates the intersection between a circle and a quadric.</p> <p>  Standard_EXPORT IntAna_IntConicQuad<strong class="dpun">(</strong>const gp_Circ<strong class="dpun">&</strong> C<strong class="dpun">,</strong> const IntAna_Quadric<strong class="dpun">&</strong> Q<strong class="dpun">);</strong></p> <p><span style="font-family: 宋体;">其实现原码中注释如下Q?/span></p> <p><img alt="" src="https://img2018.cnblogs.com/blog/534255/201902/534255-20190221214923311-1114783430.png" /> </p> <p><span style="font-family: 宋体;">Ҏ其注释,可知其计过E如下:圆的方E在其局部坐标系中用参数形式表示Q?/span></p> <p><span style="font-family: 宋体;"><img alt="" src="https://img2018.cnblogs.com/blog/534255/201902/534255-20190221215036103-137187322.png" /></span></p> <p><span style="font-family: 宋体;">二ơ曲面方E的pL也变换到圆的坐标pMQ因为圆的参数方E中?/span>0<span style="font-family: 宋体;">Q所以将圆的参数方程代入二次曲面的方E后Q和</span><span style="font-family: Calibri;">z</span><span style="font-family: 宋体;">相关的项的系数都可以化了?/span></p> <p><img alt="" src="https://img2018.cnblogs.com/blog/534255/201902/534255-20190221215058087-823214203.png" /></p> <p><span style="font-family: 宋体;">得到一个三角函数的方程后,q时p引入基础模块中的数学工具集来解决问题了?br /></span><img alt="" src="https://img2018.cnblogs.com/blog/534255/201902/534255-20190221215127233-2101143657.png" /></p> <p><span style="font-family: 宋体;">c?/span>math_TrigonometricFunctionRoots<span style="font-family: 宋体;">主要用于对如下Ş式的三角函数方程q行求解Q?/span></p> <p><img alt="" src="https://img2018.cnblogs.com/blog/534255/201902/534255-20190221215136068-2104905422.png" /></p> <h3>4. Conclusion</h3> <p><span style="font-family: 宋体;">对于圆与二次曲面求交的实现来看,也可以不用变换二ơ曲面的坐标p,直接圆的参数方E代入曲面的二次方程中:</span></p> <p><img alt="" src="https://img2018.cnblogs.com/blog/534255/201902/534255-20190221215146977-191005949.png" /></p> <p><span style="font-family: 宋体;">最l化也可得到一个三角函数方E,但是计算量与变换曲面坐标pd比来看会更大?/span></p> <p><span style="font-family: 宋体;">从上面的源码分析可知Q在</span>OpenCASCADE<span style="font-family: 宋体;">中对于解析曲U与曲面求交使用二次多项式系数来表示的。通过二ơ曲U用参数形式的方E来表示Qƈ代入二次曲面的方E,化简后直接?/span><span style="font-family: Calibri;">math</span><span style="font-family: 宋体;">包中的工P多项式方E求解和三角函数求解工具Q对方程q行求解?/span></p> <h3>5. References</h3> <p>1. <span style="font-family: 宋体;">同济大学应用数学p?/span>. <span style="font-family: 宋体;">U性代敎ͼW四版)</span><span style="font-family: Calibri;">. </span><span style="font-family: 宋体;">高等教育出版C?/span></p> <p>2. <span style="font-family: 宋体;">丘维?/span>. <span style="font-family: 宋体;">解析几何</span><span style="font-family: Calibri;">. </span><span style="font-family: 宋体;">北京大学出版C?br /></span></p><span style="font-family: 宋体;"><p> </p><div class="dpun"><div id="cnblogs_post_body" style="background-color: transparent; color: #000000; font-family: &quot;Helvetica Neue&quot;,Helvetica,Verdana,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"><p style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"></p></div><div id="MySignature" style="background-color: transparent; color: #000000; display: block; font-family: &quot;Helvetica Neue&quot;,Helvetica,Verdana,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"><hr style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /> <h5>Z方便大家在移动端也能看到我的博文和讨Z,现已注册微信公众PƢ迎大家扫描下方二维码关注?/h5> <img width="200" height="200" title="Ƣ迎xOpenCASCADE公众? style="background-image: none; border-bottom-color: #000000; border-bottom-style: none; border-bottom-width: 0px; border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-left-color: #000000; border-left-style: none; border-left-width: 0px; border-right-color: #000000; border-right-style: none; border-right-width: 0px; border-top-color: #000000; border-top-style: none; border-top-width: 0px; display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" alt="Shing Liu(eryar@163.com)" src="https://files.cnblogs.com/files/opencascade/qrcode_occ.gif" border="0" /> <hr style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /></div><span style='display: inline !important; float: none; background-color: transparent; color: #000000; font-family: "Helvetica Neue",Helvetica,Verdana,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: 23.8px; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;'> </span><div style="background-color: transparent; clear: both; color: #000000; font-family: &quot;Helvetica Neue&quot;,Helvetica,Verdana,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"><font color="#002000"></font></div></div><p><strong class="dpun"></strong><em></em><u></u><sub></sub><sup></sup><strike></strike><br /></p></span><img src ="//www.pppqb.icu/eryar/aggbug/216252.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.pppqb.icu/eryar/" target="_blank">eryar</a> 2019-02-21 22:05 <a href="//www.pppqb.icu/eryar/archive/2019/02/21/intana_circle.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解析几何求交之直U与二次曲面 - սƵ2019|սع//www.pppqb.icu/eryar/archive/2019/01/29/intana_intconicquad.htmleryareryarTue, 29 Jan 2019 14:06:00 GMT//www.pppqb.icu/eryar/archive/2019/01/29/intana_intconicquad.html//www.pppqb.icu/eryar/comments/216225.html//www.pppqb.icu/eryar/archive/2019/01/29/intana_intconicquad.html#Feedback0//www.pppqb.icu/eryar/comments/commentRss/216225.html//www.pppqb.icu/eryar/services/trackbacks/216225.html解析几何求交之直U与二次曲面

eryar@163.com

 

Abstract. OpenCASCADE provides the analytic intersection between a conic and a quadric in the package IntAna.

Key Words. Analytic geometry, intersection, coninc, quadric 

1. Introduction

OpenCASCADE中的?/span>IntAna提供了解析几何曲U(二次曲线Q与解析曲面Q二ơ曲面)求交、解析曲面与解析曲面求交的功能。其?/span>IntAna分别?/span>Intersection Analytic的前三个字母~写Q表C析几何求交?/span>

我们学过了《线性代数》中的二ơ型Q其中二ơ型在解析几何中的一个应用就是二ơ曲U和二次曲面方程的化及其性质的分析?/span>

本文主要l合源码分析直线与二ơ曲面求解的实现来抛砖引玉,后期二ơ曲U与二次曲面求交的各U情况做全面分析?/span>

2. Quadratic form

在解析几何中Qؓ了便于研I二ơ曲U?/span>

的几何性质Q我们可以选择适当的坐标旋转变?/span>

把方E化成标准Ş式:

Ҏ标准形式中的pL来分析这个二ơ曲U是什么曲U,卛_、椭圆、抛物线、双曲线?/span>

?/span>OpenCASCADE中解析几何的二次曲面有以下几U类型:

l gp_PlnQ^面可看作二次曲面的特?/span>

l gp_SphereQ解析球?/span>

l gp_CylinderQ解析柱?/span>

l gp_ConeQ解析锥?/span>

q些解析曲面都可以统一使用二次多项式来表示Q即q个二次多项式的pL定了一个二ơ曲面?/span>OpenCASCADE中相应的cLIntAna_QuaricQ?/span>

 

 3. Math Direct Polynomial Roots

OpenCASCADE中类IntAna_IntConicQuad中提供了二次曲线与二ơ曲面求交功能,其中计算直线与二ơ曲面相交的函数是:

  //! Creates the intersection between a line and a quadric.

  Standard_EXPORT IntAna_IntConicQuad(const gp_Lin& L, const IntAna_Quadric& Q);

其实现原码中注释如下Q?/span>

 

Ҏ其注释,可知其计过E如下:直U方E用参数形式表示Q?/span>

参数表C的直线方程代入二次曲面方程Q化可得一个二ơ多式Q对二次多项式进行求解即得直U与二次曲面的交炏V?/span>

得到一个二ơ多式的方E后Q这时就要引入基模块中的数据工具集来解决问题了?/span>

 

c?/span>math_DirectPolynomialRoots可以用来?/span>4ơ及以下的多式方程q行求解。对于化后的直线与二ơ曲面方E是一个二ơ多式方程Q则使用q个cȝ接进行求解?/span>

4. Conclusion

从上面的源码分析可知Q在OpenCASCADE中对于解析曲U与曲面求交使用二次多项式系数来表示的。通过方E化后直接?/span>math包中的工具对方程q行求解?/span>

使用OpenCASCADE熟练会发C们的~码风格也是有一定的套\的,即一个类会提供几个构造函敎ͼ不同参数进行输入。有的在构造函C调用初始化函?/span>Init()来对法需要的其他输入数据q行初始化,有的则直接在构造函C调用的计函?/span>Perform()。如果构造函C没有调用计算函数Perform()Q则需要手动调?/span>Perform()。算法的成功通过函数IsDone()来检。根据检判断是否取倹{?/span>

春节pCQ祝大家在新的一q里心想事成Q万事如意!

5. References

1. 同济大学应用数学p?/span>. U性代敎ͼW四版). 高等教育出版C?/span>

2. 丘维?/span>. 解析几何. 北京大学出版C?/span>



սƵ2019 2019-01-29 22:06 发表评论
]]>