LoginSignup
1
2

More than 5 years have passed since last update.

可視化(3D) > GitHub > STL > Cubeの表示 > STL Writer使用 > 方向によっては面が表示されない > 描画されない条件: 頂点が時計回り

Last updated at Posted at 2018-05-20
動作環境
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 16.04.4 LTS desktop amd64
TensorFlow v1.7.0
cuDNN v5.1 for Linux
CUDA v8.0
Python 3.5.2
IPython 6.0.0 -- An enhanced Interactive Python.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
scipy v0.19.1
geopandas v0.3.0
MATLAB R2017b (Home Edition)
ADDA v.1.3b6
gnustep-gui-runtime v0.24.0-3.1
PyMieScatt v1.7.0

処理概要

  • PythonでSTLファイルを作成する
  • STLファイルをGitHubの描画機能で描画する

形状情報を環境によらずに閲覧できるようにする方法の1つとしてGitHubを検討した。

STL Writer

下記にあるSTL Writerを使用。

cube.stl
ファイルが生成される。

GitHub

GitHubにリポジトリを作成し、cube.stlファイルを上げてみた。

cube.stl @ GitHub

方向によっては面が表示されない

下記のように、閲覧方向によっては面が表示されない。

qiita.png

STL Writerの実装の問題か、GitHubの描画の条件があるのか、未消化。

Normal方向の定義によっては、面が見えなくなるのかもしれない。

描画されない面の条件

下記の条件の時、面が描画されないようだ。

  • 閲覧方向に対して、頂点の定義が「時計回り」順になっている時

底面の頂点定義順について、閲覧方向に対して「反時計回り」にしたところ、描画されるようになった。
cube_t0913.stl @ GitHub

        # define the 6 cube faces
        # faces just lists of 3 or 4 vertices
        return [
            [p1, p3, p7, p5],
            #[p1, p5, p7, p3],
            [p1, p5, p6, p2],
            [p5, p7, p8, p6],
            [p7, p8, p4, p3],
            [p1, p3, p4, p2],
            [p2, p6, p8, p4],
        ]

左面と背面の修正

左面と背面も描画に失敗していたので、修正した (反時計回りにした)。

        # define the 6 cube faces
        # faces just lists of 3 or 4 vertices
        return [
            [p1, p3, p7, p5],  # bottom
            #[p1, p5, p7, p3],
            [p1, p5, p6, p2],
            [p5, p7, p8, p6],
            [p7, p3, p4, p8],  # rear 
            #[p7, p8, p4, p3],  
            [p1, p2, p4, p3],  # left            
            #[p1, p3, p4, p2],
            [p2, p6, p8, p4],
        ]

cube_t0928.stl @ GitHub

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2