시각화(3D) > 정사각형 원추(격자 모양의 디폴트로 구성) > GitHub+STL 렌더링의 디스플레이 >make_cubeGroup_180520.py v0.1
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
연관
GitHub STL 렌더링
환경에 관계없이 Ref1 구현 결과를 렌더링합니다.
Unity 렌더링을 사용하여 최대 52만 개를 시도했습니다.
단위/geometry>droxtal 디스플레이>v0.4>13만 개droxtal 디스플레이/52만 개
그러나 유니티가 없는 환경에서도 열람할 수 있다면 장래의 참조성은 더욱 높아질 것이다.
GitHub STL 렌더링의 경우 열람할 수 있는 환경이 넓어집니다.
활동 개요
Ref1의 v0.2 정사각추 디폴드를 사용하여volumetric filling 파일 생성
1단계 출력 파일:dipole_180520.res
형식은 다음과 같다.
run
$ head dipole_180520.res
-9.0000000 -9.0000000 9.0000000
-9.0000000 -6.0000000 6.0000000
-9.0000000 -3.0000000 3.0000000
-9.0000000 0.0000000 0.0000000
-9.0000000 3.0000000 -3.0000000
volumetric filling 중인 디폴트의 좌표를 표시합니다.STL 파일로 변환
STL 파일로 변환할 때 STL Writer를 사용합니다.
그러나 STL Writer가 그대로 유지되는 경우 GitHub의 렌더링에 문제가 있으므로 수정(Ref.2 참조)
STL Writer의 예제에서는 Ref.3을 참조했습니다.
make_cubeGroup_180520.py
import numpy as np
import sys
import STLWriter as STLWR
# STLWriter
# code from
# http://code.activestate.com/recipes/578246/
# by Manfred Moitzi
# (renamed as STLWriter.py from recipe-578246-1.py)
#
'''
v0.1 May, 20, 2018
- read dipole positions from [IN_FILE]
- add python_list_add()
- get_cube() takes [size] arg
- add make_cubeGroup()
'''
def python_list_add(in1, in2):
wrk = np.array(in1) + np.array(in2)
return wrk.tolist()
def make_cubeGroup():
def get_cube(size=3, origin=[0, 0, 0]):
# cube corner points
s = size
p1 = python_list_add(origin, (0, 0, 0))
p2 = python_list_add(origin, (0, 0, s))
p3 = python_list_add(origin, (0, s, 0))
p4 = python_list_add(origin, (0, s, s))
p5 = python_list_add(origin, (s, 0, 0))
p6 = python_list_add(origin, (s, 0, s))
p7 = python_list_add(origin, (s, s, 0))
p8 = python_list_add(origin, (s, s, s))
print(p1)
# define the 6 cube faces
# faces just lists of 3 or 4 vertices
#
# [NOTE]
# vertices must be defined [anticlockwise] to be seen on GitHub
# otherwise, the face is not drawn
#
return [
[p1, p3, p7, p5], # bottom
[p1, p5, p6, p2],
[p5, p7, p8, p6],
[p7, p3, p4, p8], # rear
[p1, p2, p4, p3], # left
[p2, p6, p8, p4],
]
IN_FILE = 'dipole_180520.res' # from [volfil_tetrahedron_180519.py] v0.2
OUT_FILE = 'cubeGroup_180520_t0950.stl'
DIPOLE_SIZE = 5
with open(IN_FILE, 'rb') as rfp:
dipoles = np.genfromtxt(IN_FILE)
with open(OUT_FILE, 'wb') as wfp:
writer = STLWR.Binary_STL_Writer(wfp)
for adipole in dipoles:
cube = get_cube(DIPOLE_SIZE, adipole)
writer.add_faces(cube)
writer.close()
print('OUT:', OUT_FILE)
if __name__ == '__main__':
make_cubeGroup()
실행 예
run
$ python3 make_cubeGroup_180520.py
...
[9.0, 0.0, 0.0]
[9.0, 3.0, 3.0]
[9.0, 6.0, 6.0]
[9.0, 9.0, 9.0]
OUT: cubeGroup_180520_t0950.stl
작성된 파일은 다음과 같습니다.cubeGroup_180520_t0950.stl @ GitHub
디폴트의 수는 119입니다.
이 환경 (첫 번째 기록) 에서 회전 작업을 할 때 응답이 매우 빠르다.
Reference
이 문제에 관하여(시각화(3D) > 정사각형 원추(격자 모양의 디폴트로 구성) > GitHub+STL 렌더링의 디스플레이 >make_cubeGroup_180520.py v0.1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/7of9/items/26246b087b789208edc5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)