• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            eryar

            PipeCAD - Plant Piping Design Software.
            RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
            posts - 603, comments - 590, trackbacks - 0, articles - 0

            OpenCASCADE中的數(shù)學(xué)圖元及其算法

            Posted on 2012-09-24 23:07 eryar 閱讀(5035) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 2.OpenCASCADE

            Math Primitives and Algorithms

            數(shù)學(xué)圖元及其算法

            eryar@163.com

            一、概述 Overview

            Open CASCADE中的數(shù)學(xué)圖元及其算法包括以下內(nèi)容:

            l 向量和矩陣(Vectors and matrices);

            l 幾何圖元(Geometric primitives);

            l 數(shù)學(xué)算法(Math algorithms);

            二、向量和矩陣 Vectors and Matrices

            向量和矩陣部分提供了基本類(lèi)型的矩陣和向量的C++實(shí)現(xiàn),也可用來(lái)定義更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。實(shí)數(shù)類(lèi)型的矩陣和向量支持標(biāo)準(zhǔn)操作,如:加法、乘法、轉(zhuǎn)置、求逆操作等。

            向量和矩陣的維數(shù)是任意的,所以必須在定義的時(shí)候聲明,以便分配存儲(chǔ)空間。在聲明后就不能對(duì)其維數(shù)進(jìn)行修改。

            向量和矩陣對(duì)象的本體和實(shí)體是相同的,即它們不能被共享且通過(guò)賦值操作來(lái)復(fù)制。

            向量和矩陣的值可以通過(guò)索引來(lái)初始化和賦值,且其索引必須在維數(shù)即范圍之內(nèi)。

            有些向量和矩陣的操作是非法的,在這種情況下將會(huì)產(chǎn)生異常。兩個(gè)標(biāo)準(zhǔn)的異常將會(huì)被使:

            l Standard_DimensionError:當(dāng)兩個(gè)矩陣或向量的操作涉及到的維數(shù)不匹配時(shí)產(chǎn)生;

            l Standard_RangeError:當(dāng)要訪(fǎng)問(wèn)在矩陣或向量范圍之外的數(shù)據(jù)時(shí)產(chǎn)生;

            三、幾何圖元類(lèi)型 Primitive Geometric Types

            1.概述 Overview

            當(dāng)要?jiǎng)?chuàng)建幾何對(duì)象之前,你必須決定將要?jiǎng)?chuàng)建的對(duì)象是用于二維還是用于三維空間。包gp提供了通過(guò)值而不是引用控制的二維和三維類(lèi)。當(dāng)這類(lèi)對(duì)象復(fù)制時(shí),對(duì)象本體和實(shí)體是一致的。改變對(duì)象的一個(gè)實(shí)例不會(huì)影響其它的。

            2.包gp

            gp定義了基本的非持久性幾何實(shí)體,可用來(lái)進(jìn)行代數(shù)計(jì)算和在二維和三維空間中基本的幾何分析。也提供了基本的變換操作,如單位化、旋轉(zhuǎn)、平移、鏡像、縮放變換,及這些變換的組合。這些幾何實(shí)體都是由值控制的。可用的幾何實(shí)體如下所示;

            l 二維和三維笛卡爾坐標(biāo)(2D & 3D Cartesian cooridinates

            l 矩陣(Matrices

            l 笛卡爾點(diǎn)(Cartesian Points

            l 向量(Vector

            l 方向(Direction

            l 軸(Axis

            l 直線(xiàn)(Line

            l 圓(Circle

            l 橢圓(Ellipse

            l 雙曲線(xiàn)(Hyperbola

            l 拋物線(xiàn)(Parabola

            l 平面(Plane

            l 無(wú)限的柱面(Infinite Cylindrical Surface

            l 球面(Spherical Surface

            l 超環(huán)面(Toroidal Surface

            l 錐面(Conical Surface

            四、幾何圖元類(lèi)型集合 Collections of Primitive Geometric Types

            若你不想使這些幾何元素的單個(gè)實(shí)例而是他們的集合,包TColgp就是用來(lái)處理這類(lèi)對(duì)象集合的。

            l TColgp:包TColgp提供了包gp中的類(lèi)的TCollection的實(shí)例化,如:XYXYZPntPnt2dVecVec2dLinLin2dCircCirc2d等。它們都是非持久性類(lèi)。

            五、基本幾何庫(kù) Basic Geometric Libraries

            有幾個(gè)庫(kù)可用來(lái)對(duì)曲線(xiàn)和曲面作基本的計(jì)算。若待處理的對(duì)象是由包gp中創(chuàng)建的,則初等曲線(xiàn)和曲面庫(kù)—包ElCLib和包ElSLib—中很多算法是有用的。

            Precision描述了兩個(gè)數(shù)比較時(shí)的精度標(biāo)準(zhǔn)。

            l ElCLib:(Elementary Curves Libraries)提供用于解析曲線(xiàn)的方法,可對(duì)gp包中曲線(xiàn)進(jìn)行簡(jiǎn)單計(jì)算的庫(kù)。根據(jù)給定的參數(shù)計(jì)算點(diǎn)或根據(jù)點(diǎn)計(jì)算參數(shù)。

            l ElSLib:(Elementary Surfaces Libraries)提供用于解析曲面的方法,可對(duì)gp包中的曲面進(jìn)行簡(jiǎn)單計(jì)算。通過(guò)給定的兩個(gè)參數(shù)計(jì)算點(diǎn)或計(jì)算一個(gè)點(diǎn)的參數(shù)。還提供了計(jì)算曲線(xiàn)和曲面法向的庫(kù)。

            l Bnd:(Bounding Boxes)二維或三維空間中的包圍盒。

            六、通用數(shù)學(xué)算法 Common Math Algorithms

            通用數(shù)學(xué)算法庫(kù)提供了C++實(shí)現(xiàn)的最常用的數(shù)學(xué)算法,包括以下內(nèi)容:

            l 求解線(xiàn)性方程組的算法

            l 求函數(shù)極值的算法

            l 求非線(xiàn)性方程(組)的根的算法

            l 求方陣特征值和特征向量的算法

            算法的實(shí)現(xiàn) Implementation of Algorithms

            所有數(shù)學(xué)算法的實(shí)現(xiàn)原則是相同的,他們包含:

            l 構(gòu)造函數(shù):執(zhí)行幾乎所有的計(jì)算,或給出合適參數(shù)。所有相關(guān)信息保存在結(jié)果對(duì)象中,所以使后期計(jì)算更高效。

            l 函數(shù)IsDone:這個(gè)函數(shù)返回計(jì)算的成功與否。

            l 一些特定函數(shù):對(duì)每個(gè)算法特定的函數(shù),用來(lái)確保得到各種結(jié)果。這些函數(shù)只有在IsDone返回true時(shí)才可能調(diào)用,否則將會(huì)產(chǎn)生StdFail_NotDone異常。

            下面的例子演示的是使用高斯方法求解線(xiàn)性方程組的代碼。代碼截取自類(lèi)math_Gauss的頭文件。

            使用高斯方法求解方程組的主程序如下:

             

            eryar@163.com

            Pudongxin Shanghai China

            20120924

             

            色婷婷综合久久久久中文一区二区| 欧美亚洲日本久久精品| 少妇久久久久久被弄高潮| 亚洲精品无码成人片久久| 99国产欧美精品久久久蜜芽| jizzjizz国产精品久久| 99精品伊人久久久大香线蕉| 少妇熟女久久综合网色欲| 日韩乱码人妻无码中文字幕久久| 国产精品福利一区二区久久| 国产精品激情综合久久| 免费精品久久天干天干| 一本大道久久a久久精品综合| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区| 久久人人青草97香蕉| 94久久国产乱子伦精品免费| 久久www免费人成看片| 久久久久97国产精华液好用吗| 日韩精品无码久久久久久| 亚洲国产成人精品女人久久久| 国产精品99精品久久免费| 国产精品成人久久久| 久久一区二区免费播放| 久久Av无码精品人妻系列| 久久久久av无码免费网| 日本亚洲色大成网站WWW久久| 亚洲伊人久久大香线蕉苏妲己| 亚洲AV乱码久久精品蜜桃| 日本精品久久久久影院日本| 国产成人香蕉久久久久| 亚洲综合精品香蕉久久网97 | 久久国产高清字幕中文| 久久久亚洲AV波多野结衣| 亚洲精品视频久久久| 久久亚洲精品无码播放| 久久一区二区三区免费| 久久青青草原亚洲av无码| 亚洲国产精品综合久久一线| 久久久亚洲精品蜜桃臀| 国产精品久久久香蕉| 久久亚洲国产精品成人AV秋霞|