• <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精品久久久久久| 久久精品人人做人人爽电影 | 亚洲午夜久久久久妓女影院 | 思思久久好好热精品国产| 久久人妻AV中文字幕| 久久综合久久综合久久综合| 午夜视频久久久久一区 | 久久人做人爽一区二区三区| 精品久久久久久久久午夜福利| 久久久久国产一区二区| 久久综合国产乱子伦精品免费| 久久久久久亚洲精品无码| 久久久一本精品99久久精品66| 久久亚洲中文字幕精品一区| 久久久久久毛片免费播放| 日本精品久久久久影院日本| 国产精品久久成人影院| 久久久久亚洲av综合波多野结衣| 99久久精品费精品国产 | 精品人妻伦九区久久AAA片69| 精品久久一区二区三区| 亚洲中文字幕无码久久综合网 | 久久精品桃花综合| 国产精品久久久久乳精品爆| 97久久久久人妻精品专区| 久久久久久亚洲精品影院| 久久精品国产亚洲精品| 青青青国产精品国产精品久久久久 | 99久久婷婷国产综合亚洲| 天天躁日日躁狠狠久久| 久久免费看黄a级毛片| 久久经典免费视频| 91麻豆国产精品91久久久| 合区精品久久久中文字幕一区| 久久精品成人| 亚洲日韩欧美一区久久久久我| 久久精品一区二区三区中文字幕|