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

eryar

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

OpenCASCADE 平面與球面求交

Posted on 2019-10-08 22:57 eryar 閱讀(8359) 評論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

OpenCASCADE 平面與球面求交

eryar@163.com

 

OpenCASCADE提供了類IntAna_QuadQuadGeo用來計算兩個二次曲面quadric(球面、圓柱面、圓錐面及平面,平面是二次曲面的特例)之間的交線。他們之間可能的結果有:

l 一個點

l 一條或兩條直線

l 一個點和一條直線

l 圓

l 橢圓

l 拋物線

l 雙曲線

 

將源碼結合《高等數學》、《解析幾何》等書,可以來學習如何將理論付諸實踐。本文主要介紹這個類中平面與球面求交的源碼實現。 

將源碼列出如下:

void IntAna_QuadQuadGeo::Perform( const gp_Pln& P
                                 ,const gp_Sphere& S) 
{
  done = Standard_False;
  Standard_Real A,B,C,D,dist, radius;
  Standard_Real X,Y,Z;
  nbint = 0;
// debug JAG : on met typeres = IntAna_Empty par defaut...
  typeres = IntAna_Empty;
  P.Coefficients(A,B,C,D);
  S.Location().Coord(X,Y,Z);
  radius = S.Radius();
  dist = A * X + B * Y + C * Z + D;
  if (Abs( Abs(dist) - radius) < Epsilon(radius)) {
    // on a une seule solution : le point projection du centre de la sphere
    // sur le plan
    nbint = 1;
    typeres = IntAna_Point;
    pt1.SetCoord(X - dist*A, Y - dist*B, Z - dist*C);
  }
  else if (Abs(dist) < radius) {
    // on a un cercle solution
    nbint = 1;
    typeres = IntAna_Circle;
    pt1.SetCoord(X - dist*A, Y - dist*B, Z - dist*C);
    dir1 = P.Axis().Direction();
    if(P.Direct()==Standard_False) dir1.Reverse();
    dir2 = P.Position().XDirection();
    param1 = Sqrt(radius*radius - dist*dist);
  }
  param2bis=0.0; //-- pour eviter param2bis not used .... 
  done = Standard_True;
}

理解上述代碼需要有平面一般方程的概念及點到平面的距離計算公式:

 

源碼實現步驟如下:

l 取出平面一般方程的系數:ABCD及球心坐標XYZ

l 計算球心到平面的距離dist

l 若距離dist等于球面的半徑,則平面為球面的切平面,只有一個交點;

l 若距離dist小于球面的半徑,則平面與球面的交線為圓;

其中需要注意的是在獲取平面一般方程的參數時,平面的法向為單位向量,所以在計算球心到平面的距離時的分母為1

從上述代碼可以看出OpenCASCADE的算法類的特點:即都有一個算法完成狀態的函數IsDone(),通過成員變量done來設置,算法執行前都設置成false,算法成功后設置成true。還有一個前綴在變量名和函數名中很普遍,就是nb,是數量Number的縮寫,這里是一個成員變量nbint,即相交的數量。

 


為了方便大家在移動端也能看到我的博文和討論交流,現已注冊微信公眾號,歡迎大家掃描下方二維碼關注。
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>
            亚洲国产99精品国自产| 久久亚洲国产精品一区二区| 国产欧美日韩精品一区| 免费亚洲一区二区| 久久精品国产清高在天天线 | 欧美成人小视频| 日韩视频免费观看高清完整版| 精品av久久707| 久久久亚洲国产美女国产盗摄| 伊人婷婷久久| 欧美人与禽性xxxxx杂性| 欧美日韩免费看| 国产精品视频一| 国产日韩精品一区二区| 国语精品中文字幕| 亚洲精品国产精品久久清纯直播 | 亚洲精品在线视频观看| 亚洲久色影视| 午夜精品久久久久久久久久久| 欧美在线精品一区| 亚洲电影中文字幕| 日韩一区二区电影网| 亚洲欧美国产精品专区久久| 久久手机免费观看| 国产精品国产a级| 免费在线亚洲| 亚洲欧洲精品一区二区三区波多野1战4| 夜夜嗨av一区二区三区网站四季av| 性伦欧美刺激片在线观看| 女生裸体视频一区二区三区| 国产精品亚洲第一区在线暖暖韩国| 精品91在线| 亚洲综合视频网| 欧美激情精品久久久久久蜜臀| 亚洲神马久久| 欧美成人伊人久久综合网| 国产精品入口尤物| 日韩视频精品在线观看| 久久青草福利网站| 99视频在线观看一区三区| 久久久久.com| 国产日韩欧美综合一区| 在线午夜精品自拍| 欧美高清成人| 久久精品国产第一区二区三区最新章节 | 久久精品国产999大香线蕉| 欧美日韩精品综合| 国产一区激情| 欧美日韩免费观看一区三区 | 最新国产精品拍自在线播放| 亚洲欧美日韩系列| 欧美日韩在线一二三| 亚洲二区视频| 麻豆精品在线视频| 欧美在线视频一区二区三区| 国产精品女主播在线观看| 一本综合精品| 亚洲国产精品尤物yw在线观看 | 亚洲大片免费看| 久久久青草青青国产亚洲免观| 亚洲图中文字幕| 国产精品久久久久999| 中文亚洲字幕| 亚洲乱码国产乱码精品精可以看 | 欧美福利在线| 亚洲精品免费一二三区| 亚洲第一网站免费视频| 久久综合色一综合色88| 在线日韩av片| 亚洲国产精品久久久久婷婷老年 | 另类酷文…触手系列精品集v1小说| 国产精品婷婷| 久久国产精品一区二区| 午夜精品一区二区三区在线播放| 国产精品久久久久999| 欧美一区二区三区免费大片| 午夜一区在线| 国产主播精品| 欧美电影美腿模特1979在线看| 美女图片一区二区| av成人手机在线| 亚洲一区精品电影| 狠狠色伊人亚洲综合成人| 欧美mv日韩mv国产网站| 欧美精品1区2区| 午夜精品久久久久99热蜜桃导演| 亚洲欧美日韩一区二区| 好吊日精品视频| 亚洲高清一二三区| 国产精品白丝av嫩草影院| 欧美专区在线| 欧美激情二区三区| 欧美伊人久久大香线蕉综合69| 久久av一区二区| 一本色道久久综合狠狠躁篇怎么玩| 一区二区三区国产盗摄| 亚洲天堂av综合网| 欧美综合第一页| 亚洲精品国产日韩| 亚洲视频网在线直播| 一区视频在线| 日韩午夜免费| 亚洲高清影视| 亚洲永久在线观看| 亚洲人成毛片在线播放| 亚洲综合色婷婷| 99精品欧美一区二区三区| 欧美一区二区三区日韩| 日韩一二在线观看| 久久精品亚洲国产奇米99| aⅴ色国产欧美| 久久网站免费| 久久国产精品亚洲va麻豆| 欧美日韩国产成人高清视频| 久久久免费av| 国产精品一区二区三区久久| 欧美激情网友自拍| 国产一区二区在线观看免费播放| 亚洲免费激情| 亚洲另类春色国产| 久久一区中文字幕| 久久久欧美一区二区| 国产麻豆精品theporn| 亚洲国产一区二区三区高清| 国产视频一区欧美| 国产精品永久免费观看| 亚洲高清中文字幕| 雨宫琴音一区二区在线| 香港久久久电影| 欧美一区二区精品| 国产精品久久久久免费a∨| 亚洲三级免费| 亚洲精品一区久久久久久| 久久这里有精品视频| 久久亚洲春色中文字幕| 国产日韩欧美自拍| 午夜精品久久久久久久久久久久久| 亚洲一级二级在线| 欧美日韩亚洲一区三区| 亚洲免费观看高清完整版在线观看| 亚洲国产日韩在线一区模特| 久久久成人网| 久久亚洲欧美| 亚洲国产精品www| 欧美国产一区在线| 亚洲精品视频免费| 亚洲一区二区三区精品视频| 欧美视频一二三区| 亚洲视频在线播放| 欧美一区二区在线观看| 国产精品一区二区你懂的| 亚洲制服av| 久久综合久色欧美综合狠狠| 一区二区三区在线高清| 免费av成人在线| 99成人在线| 欧美专区亚洲专区| 亚洲国产精品999| 欧美人与禽猛交乱配| 亚洲一区二区精品| 久久综合伊人| 99香蕉国产精品偷在线观看| 国产精品久久久一区二区| 欧美成人综合网站| 欧美精品国产精品日韩精品| 亚洲人人精品| 性感少妇一区| 在线日韩欧美视频| 欧美日韩国产高清| 午夜精彩国产免费不卡不顿大片| 久久尤物电影视频在线观看| 亚洲精品视频在线播放| 欧美日韩免费观看一区=区三区| 午夜日韩在线| 91久久精品国产91久久性色| 午夜精品久久久久久久久久久久久| 一区二区三区亚洲| 国产精品久久久久久久9999| 久久嫩草精品久久久精品| 亚洲欧洲精品天堂一级| 新片速递亚洲合集欧美合集| 在线日韩av永久免费观看| 国产精品国产福利国产秒拍| 久久亚洲国产成人| 亚洲一区二区三区午夜| 国产精品久久久亚洲一区| 久久精品国产亚洲一区二区三区| 亚洲黄色大片| 噜噜爱69成人精品| 亚洲一区在线免费| 亚洲精品视频二区| 激情综合激情| 国产日韩欧美自拍| 国产精品高精视频免费| 欧美粗暴jizz性欧美20| 性色av一区二区三区在线观看 | 一区精品久久| 国产精品主播| 国产精品第2页| 欧美日韩第一区|