? 三維模型自動添加支撐的幾種實現思路 - 納金網

<tbody id="ap6ns"><div id="ap6ns"><address id="ap6ns"></address></div></tbody>
<track id="ap6ns"><span id="ap6ns"></span></track>

<track id="ap6ns"></track>

  • <option id="ap6ns"><span id="ap6ns"></span></option>

    <menuitem id="ap6ns"></menuitem>
  • <track id="ap6ns"><span id="ap6ns"><em id="ap6ns"></em></span></track>
  • <tbody id="ap6ns"></tbody>
    <track id="ap6ns"><span id="ap6ns"></span></track>
    1. 聯系我們

      給我們留言

      聯系我們

      地址:福建省晉江市青陽街道洪山路國際工業設計園納金網

      郵箱:info@narkii.com

      電話:0595-82682267

      (周一到周五, 周六周日休息)

      當前位置:主頁 > 3D教程 > 圖文教程

      三維模型自動添加支撐的幾種實現思路

      來源: csdn | 責任編輯:六月芳菲 | 發布時間: 2018-08-13 15:05 | 瀏覽量:
      1. 概述
      這段時間又開始接觸切片軟件了。自動支撐一直是大家都在追求的一個功能,這里寫一下自己實現過的兩種自動支撐,并不是最好的,作為參考提供給大家,同時作為備忘。
      本文注重的是尋找到模型能夠添加支撐的點,獲得支撐點之后,如何添加支撐的動作,可以參考B9的添加模型方法,或者CW早期的代碼添加支撐的方法,這兩者是一樣的。
      2. 兩種思路及關鍵算法
      A. 基于三角片面中點
      這種方法是先獲取滿足添加支撐的三角面片,然后計算三角面片的幾何中點,作為可以添加支撐的點。對于三角面片十分密集的情況,我們需要使用一個hash算法來將這些點按照方格的方式來進行分類。如下圖:
      如上,將不同的點,根據網格來分類,每個格子對應了一個唯一的標識。 
      有了上述的信息后,再在每個網格中選取對應的點,或者根據格子中的點,生成新的點。
      這里的hash算法,只是對二維的平面進行一個網格化分類。如下圖為測試程序:
      不同的點進行了網格分類之后,就可以進行多個操作了,比如做樹狀支撐,比如做平均,來求取對應的支撐點。 有了支撐點之后,再進行下一步的添加支撐動作。
      B. 基于射線的方式
      這種方法交前一種更為簡單。 
      只需要將模型擺放成斗個角度(仰視模型),然后按照一定的規律(每間隔一定距離)依次生成一根射線,射線如果與模型相交,則求出對應的焦點,并將該點作為支撐點保存下來,再在下一步用該點生成對應的支撐結構。類似的效果如下圖:
      可以看到,生成的支撐是均勻間隔分布的,排列整齊:
      C. hash算法來源
      這個hash算法在切片軟件中,對模型進行優化的過程中也有用到,優化的目的就是將重復或者距離過近的三維坐標點排除或者合成為同一個點,這樣可以對STL數據進行去冗余??梢詤⒖糃uraEngine中的OptimizenModel中的相關操作來進行實現。
      參考:
      https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjVmdqe6JvQAhUnw1QKHTbvCJEQFggbMAA&url=http%3a%2f%2fwww%2ecmemo%2eorg%2ecn%2fCN%2farticle%2fdownloadArticleFile%2edo%3fattachType%3dPDF%26id%3d5915&usg=AFQjCNG2axBNlvLb2W-3hFmoebGDSvVt2g

      相關文章
      網友評論

      您需要登錄后才可以發帖 登錄 | 立即注冊

      關閉

      全部評論:0條

      推薦
      熱門
      婷婷五月色尤物国产最新在线|亚洲国产 另类 久久精品|国产福利一区二区精品秒拍|99久久精品国产免费男女

      <tbody id="ap6ns"><div id="ap6ns"><address id="ap6ns"></address></div></tbody>
      <track id="ap6ns"><span id="ap6ns"></span></track>

      <track id="ap6ns"></track>
      
      
    2. <option id="ap6ns"><span id="ap6ns"></span></option>

      <menuitem id="ap6ns"></menuitem>
    3. <track id="ap6ns"><span id="ap6ns"><em id="ap6ns"></em></span></track>
    4. <tbody id="ap6ns"></tbody>
      <track id="ap6ns"><span id="ap6ns"></span></track>