青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

eryar

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

OpenCascade Ruled Surface

Posted on 2018-01-10 22:12 eryar 閱讀(1635) 評論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

OpenCascade Ruled Surface

eryar@163.com

Abstract. A ruled surface is formed by moving a line connecting points of equal relative arc length or equal relative parametric value on two parametric curves from a start point to a terminate point on the curves. The paper focus on the ruled surface in opencascade.

Key words. OpenCascade, Ruled Surface,直紋面

1.Introduction

《解析幾何》中有關(guān)于直紋面Ruled Surface的定義:一曲面S稱為直紋面,如果存在一族直線使得這一族中的每一條直線全在S上。并且S上的每個(gè)點(diǎn)都在這一族的某一條直線上。這樣一族直線稱為S的一族直母線。其參數(shù)方程為:

wps_clip_image-10134

即可以將直紋面看作是曲面對當(dāng)v=0和1時(shí)得到的兩個(gè)邊界曲線之間進(jìn)行線性插值得到的曲面。

wps_clip_image-2878

Autodesk 3DS Max中的直紋面,圖片來自:

https://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-364FE529-431B-448A-850B-DD9BBECAC90B-htm.html

直紋面是從兩條曲線來構(gòu)造曲面的方法,Coons曲面是由四邊條界曲線來構(gòu)造曲面,理解直紋面的構(gòu)造原理,為進(jìn)一步理解通用的放樣Sweep造型打下基礎(chǔ)。

2.Ruled Surface Parametric Equation

直紋面的參數(shù)方程也可以寫成如下形式:

wps_clip_image-19769

直接根據(jù)參數(shù)方程可以定義出相應(yīng)的直紋面。在OpenCASCADE中話,可以從Geom_Surface派生新的類,并實(shí)現(xiàn)相應(yīng)的虛函數(shù)。如實(shí)現(xiàn)計(jì)算對應(yīng)參數(shù)u,v的值的虛函數(shù)D0()等。為了簡單起見,用相應(yīng)的函數(shù)計(jì)算直紋面上的點(diǎn),并生成OpenCASCADE Draw Test Harness的命令腳本文件,方便在Draw中可視化。

如有名的Mobius Strip也是個(gè)直紋面:

wps_clip_image-4834

Mobius Strip的參數(shù)方程為:

wps_clip_image-26570

根據(jù)上述參數(shù)方程在OpenCASCADE的Draw生成Mobius Strip,代碼如下所示:

const Standard_Real MOBIUS_RADIUS = 50.0;
void MobiusStrip(Standard_Real theU, Standard_Real theV, gp_Pnt& thePoint)
{
    thePoint.SetX((MOBIUS_RADIUS + theU * Cos(0.5 * theV)) * Cos(theV));
    thePoint.SetY((MOBIUS_RADIUS + theU * Cos(0.5 * theV)) * Sin(theV));
    thePoint.SetZ(theU * Sin(0.5 * theV));
}
void TestMobiusStrip()
{
    std::ofstream aTclFile("d:/mobius.tcl");
    aTclFile << "pload ALL" << std::endl;
    aTclFile << "vinit" << std::endl;
    Standard_Real aWidth = 10.0;
    Standard_Integer aN = 0;
    for (Standard_Real s = -aWidth; s < aWidth; s += 1.0)
    {
        aTclFile << "polyline p" << ++aN ;
        for (Standard_Real t = 0.0; t < M_PI * 2.0; t += 0.01)
        {
            gp_Pnt aPoint;
            MobiusStrip(s, t, aPoint);
            aTclFile << " " << aPoint.X() << " " << aPoint.Y() << " " << aPoint.Z();
        }
        aTclFile << "\n vdisplay p" << aN << std::endl;
    }
    for (Standard_Real t = 0.0; t < M_PI * 2.0; t += 0.2)
    {
        aTclFile << "polyline p" << ++aN;
        gp_Pnt aPoint;
        MobiusStrip(-aWidth, t, aPoint);
        aTclFile << " " << aPoint.X() << " " << aPoint.Y() << " " << aPoint.Z();
        MobiusStrip(aWidth, t, aPoint);
        aTclFile << " " << aPoint.X() << " " << aPoint.Y() << " " << aPoint.Z();
        aTclFile << "\n vdisplay p" << aN << std::endl;
    }
}
int main(int argc, char* argv[])
{
    TestMobiusStrip();
    return 0;
}

在D盤生成一個(gè)mobius.tcl腳本文件,直接在Draw Test Harness中輸入命令:

source d:/mobius.tcl

即可得到如下圖所示的Mobius環(huán):

mobius

其他的直紋面只要知道參數(shù)方程,都可以采用這種方法在OpenCASCADE Draw Test Harness中進(jìn)行顯示。有人也用POV-Ray根據(jù)直紋面的參數(shù)方程來繪制直紋面,效果更不錯(cuò)。

這是使用參數(shù)方程來表示直紋面的方法,如果知道直紋面的參數(shù)方程,可以從幾何曲面來派生新類Geom_Surface,并實(shí)現(xiàn)幾個(gè)相關(guān)虛函數(shù),應(yīng)該可以直接給OpenCASCADE顯示了,這種方法沒有測試。

3.Ruled Surface to B Spline Surface

如果已知直紋面的參數(shù)方程,如何用NURBS曲面來表示直紋面呢?在《非均勻有理B樣條》一書中給出了一種將給定兩條曲線C1,C2轉(zhuǎn)換成直紋面的方法。他給出的限制條件是想要生成在v方向是直線的曲面,即是C1(u)和C2(u)之間的線性插值。而且還要求在兩條曲線的等參數(shù)點(diǎn)之間進(jìn)行插值。又由于曲面是張量各曲面,兩條邊界曲線C1和C2必須具有相同的次數(shù),并定義在相同的節(jié)點(diǎn)矢量上,因此表示這樣的直紋面的B樣條轉(zhuǎn)換過程為:

l 確保兩條曲線定義在相同的參數(shù)區(qū)間內(nèi);

l 確保兩條曲線的次數(shù)相同。如果不同,則將次數(shù)低的曲線升階;

l 確保兩條曲線有相同的節(jié)點(diǎn)矢量。

OpenCASCADE中生成直紋面的是類GeomFill的靜態(tài)函數(shù)Surface(),其實(shí)現(xiàn)步驟與上述類似,具體實(shí)現(xiàn)的類是GeomFill_Profiler。GeomFill_Profiler是個(gè)更通用的類,它可以根據(jù)多條曲線來構(gòu)造曲面。下面通過Draw Test Harness腳本來根據(jù)兩條曲線構(gòu)造直紋面。

3.1 根據(jù)兩條直線構(gòu)造直紋面

# Ruled surface between two lines.

vertex v1 0 0 0
vertex v2 0 8 8
vertex v3 8 0 8
vertex v4 8 8 0
edge e1 v1 v2
edge e2 v3 v4
pruled r1 e1 e2
vdisplay v1 v2 v3 v4 e1 e2 r1

生成直紋面是一個(gè)雙線性曲面,如下圖所示:

ruled1

3.2 根據(jù)兩個(gè)圓構(gòu)造直紋面

# Ruled surface between circle and ellipse.

circle c1 0 0 0 5
circle c2 0 0 10 4
mkedge e3 c1
mkedge e4 c2
pruled r2 e3 e4
vdisplay e3 e4 r2

生成的直紋面是一個(gè)圓錐面,效果如下圖所示:

wps_clip_image-15852

當(dāng)頂部的圓旋轉(zhuǎn)時(shí)會(huì)得到如下圖所示的直紋面:

wps_clip_image-2230

相應(yīng)的Draw腳本如下:

# Ruled surface between circle and ellipse.

circle c1 0 0 0 5
circle c2 0 0 10 4
mkedge e3 c1
mkedge e4 c2
pruled r2 e3 e4
vdisplay e3 e4 r2
wait 2
trotate e4 0 0 0 0 0 1 30
pruled r2 e3 e4 
vdisplay r2
wait 2
trotate e4 0 0 0 0 0 1 30
pruled r2 e3 e4 
vdisplay r2
wait 2
trotate e4 0 0 0 0 0 1 30
pruled r2 e3 e4 
vdisplay r2

生成的動(dòng)畫效果如下圖所示:

ruled4

4.Conclusion

根據(jù)直紋面的參數(shù)方程就可以繪制出相應(yīng)的曲面,然后如何用B樣條曲面來表示直紋面,需要滿足一定的條件。IGES中定義的直紋面就給出了兩種方式:等弧長和等參數(shù)構(gòu)造。引用《非均勻有理B樣條》書中對兩種形式的說明如下:一般情況下,連接兩條曲線上相對弧長相等的點(diǎn)會(huì)產(chǎn)生一個(gè)幾何上不同的曲面,而這樣的曲面不能通過NURBS來表示。因此,要在NURBS的直紋面和IGES的直紋面(Type 118 Form 0/1)之間進(jìn)行數(shù)學(xué)上的精確轉(zhuǎn)換是不可能的。

OpenCASCADE的直紋面也是使用的NURBS表示,所以其也是等參數(shù)形式的直紋面。希望在理解根據(jù)兩條曲線來構(gòu)造曲面的方法來理解更一般的造型算法,即通過多條曲線來構(gòu)造曲面的造型方法。

5.References

1. Weisstein Eric W. “Ruled Surface”. http://mathworld.wolfram.com/RuledSurface.html

2. www.ms.uky.edu/~lee/visual05/gallery/ruledsurfaces.doc

3. The Initial Graphics Exchange Specification (IGES) Version 6.0

4. 趙罡, 穆國旺, 王拉柱. 非均勻有理B樣條. 清華大學(xué)出版社. 2010

5. 丘維聲. 解析幾何. 北京大學(xué)出版社. 1996


為了方便大家在移動(dòng)端也能看到我的博文和討論交流,現(xiàn)已注冊微信公眾號,歡迎大家掃描下方二維碼關(guān)注。
Shing Liu(eryar@163.com)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            一区二区三区四区在线| 国产精品亚洲产品| 亚洲欧美成人在线| 一本一本a久久| 亚洲少妇最新在线视频| 亚洲欧美国产不卡| 欧美中在线观看| 美女精品在线观看| 欧美日韩国产探花| 国产欧美 在线欧美| 国产真实精品久久二三区| 亚洲电影自拍| 亚洲欧美激情诱惑| 久久亚洲精品网站| 久久成人18免费网站| 1204国产成人精品视频| 免费观看亚洲视频大全| 欧美激情麻豆| 国产精品美女www爽爽爽| 国语自产精品视频在线看| 亚洲精品1区2区| 性伦欧美刺激片在线观看| 免费久久精品视频| 亚洲欧美成aⅴ人在线观看| 久久亚洲午夜电影| 国产精品美女久久久| 在线观看亚洲专区| 香蕉免费一区二区三区在线观看| 久久亚洲综合色一区二区三区| 美女视频黄免费的久久| 亚洲精品国产品国语在线app| 亚洲综合视频网| 玖玖综合伊人| 一本一本久久a久久精品综合妖精| 免费观看亚洲视频大全| 亚洲乱码日产精品bd| 久久精品亚洲精品| 国产精品久久久久7777婷婷| 尤物视频一区二区| 久久爱www久久做| 一本大道久久a久久综合婷婷| 亚洲黄色成人久久久| 欧美一区二区在线播放| 欧美午夜女人视频在线| 亚洲成人资源网| 久久精品日产第一区二区三区| 久久久之久亚州精品露出| 亚洲韩日在线| 美日韩精品免费观看视频| 国内精品国产成人| 久久久人成影片一区二区三区| 免费观看久久久4p| 亚洲欧美日韩在线播放| 欧美日韩影院| 一区二区三区精品在线| 91久久精品日日躁夜夜躁国产| 亚洲精品一区二区三区四区高清| 91久久在线视频| 欧美成人一区二区三区片免费| 欧美激情一区二区| 一色屋精品视频免费看| 久久99伊人| 久久av资源网| 18成人免费观看视频| 男人插女人欧美| 免费欧美视频| 亚洲视频每日更新| 亚洲私人影吧| 国内精品久久久久久久影视蜜臀 | 日韩视频三区| 欧美不卡激情三级在线观看| 伊伊综合在线| 久久亚洲春色中文字幕| 久久激五月天综合精品| 在线看欧美视频| 亚洲国产精品国自产拍av秋霞| 99国产精品久久久| 国产精品成人一区二区艾草| 亚洲欧美日韩国产一区| 欧美一区二区三区男人的天堂| 欧美日本国产精品| 亚洲午夜小视频| 亚洲欧美日韩精品| 久久频这里精品99香蕉| 亚洲精品一二| 一区二区三区免费在线观看| 国产精自产拍久久久久久蜜| 玖玖在线精品| 国产精品国码视频| 狂野欧美一区| 国产精品a久久久久| 久久一区二区三区国产精品 | 国产精品yjizz| 久久国产99| 欧美粗暴jizz性欧美20| 亚洲欧美日韩国产中文| 久久综合给合| 亚洲午夜一区二区| 久久蜜臀精品av| 西西裸体人体做爰大胆久久久| 亚洲欧洲三级电影| 国产精品一区二区久久精品| 欧美激情在线播放| 国产午夜精品久久久| 亚洲精品在线免费观看视频| 好吊一区二区三区| 亚洲私人影吧| 一本色道久久综合亚洲精品按摩| 六月婷婷一区| 国产精品二区二区三区| 欧美激情精品久久久久久久变态| 久久精品一区二区三区不卡| 国产精品99久久久久久久女警 | 国产主播一区二区三区| 亚洲日韩欧美一区二区在线| 在线看片一区| 久久精品一区二区三区四区| 亚洲一区二区三区四区五区黄| 亚洲一区美女视频在线观看免费| 欧美日韩小视频| 欧美 日韩 国产精品免费观看| 久久综合九色综合久99| 午夜视频一区| 欧美视频四区| 亚洲影视在线播放| 国产精品久久久久aaaa樱花| 久久成人资源| 亚洲欧美日韩一区二区三区在线| 99这里只有精品| 另类图片综合电影| 亚洲在线视频免费观看| 在线中文字幕日韩| 樱花yy私人影院亚洲| 欧美激情视频给我| 国产精品美女主播在线观看纯欲| 亚洲在线中文字幕| 红桃视频欧美| 亚洲青涩在线| 1769国产精品| 午夜亚洲福利| 美女图片一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲一区二区三| 中文成人激情娱乐网| 欧美日韩免费观看中文| 亚洲国产精品成人综合| 亚洲高清资源| 欧美成人一二三| 99re6这里只有精品| 亚洲视频免费在线| 国产精品欧美经典| 欧美资源在线观看| 麻豆国产精品777777在线| 亚洲级视频在线观看免费1级| 亚洲欧洲在线免费| 一本色道久久综合亚洲精品不卡| 亚洲夜间福利| 久久久久成人网| 亚洲第一福利在线观看| 欧美激情bt| 亚洲视频免费| 久久一本综合频道| 日韩一级精品视频在线观看| 欧美三区免费完整视频在线观看| 免费欧美电影| 亚洲精品国产精品国自产观看| 亚洲视频日本| 久久另类ts人妖一区二区| 91久久线看在观草草青青| 欧美视频一区二| 欧美在线短视频| 亚洲国产精彩中文乱码av在线播放| 欧美色综合网| 欧美亚洲一区| 亚洲美女性视频| 久久亚洲国产精品一区二区| 99国产精品视频免费观看| 国产精品美女xx| 欧美mv日韩mv国产网站| 国产精品午夜久久| 一区二区黄色| 欧美成年网站| 日韩视频专区| 精品成人免费| 国产精品日韩在线| 欧美激情第3页| 久久精品视频一| 一区二区三区视频免费在线观看| 亚洲激情第一页| 国产日韩亚洲欧美综合| 欧美精品亚洲一区二区在线播放| 欧美高清视频一二三区| 午夜精品99久久免费| 亚洲精品一区在线观看香蕉| 国产麻豆成人精品| 国产精品久久国产精麻豆99网站| 亚洲视频欧洲视频| 亚洲欧洲视频| 亚洲观看高清完整版在线观看| 在线播放中文字幕一区|