wireframe 3D sphere

게시판 IDL Q&A wireframe 3D sphere

3 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #2970 Reply
      익명
      비활성

      안녕하세요,

      첨부한 url의 그림과 같이 뒷면이 보이는 wireframe 3D sphere을 idl로 구현할 수 있을까요?
      https://commons.wikimedia.org/wiki/File:Sphere_wireframe_10deg_6r.svg

      기존 library가 있을까해서 찾아보았는데 3D polyshade로는 안되는 것 같아서 이렇게 도움을 청합니다.

      감사합니다.

      • 이 게시글은 jhlee에 의해 7 years, 6 months 전에 수정됐습니다.
    • #2972 Reply
      jhlee
      Keymaster

      IDL 도움말의 Graphics > Graphics Gallery > Surface > Global Digital Elevation model 의 내용 및 코드를 참조하여 아래와 같이 수정을 해봤습니다.

      PRO TEST_3D

      temp = BYTARR(360, 360)
      temp = SHIFT(temp, 180)
      a = 360L
      b = 360L
      n = a * b
      spherical = MAKE_ARRAY(3, n, /DOUBLE)
      FOR i = 0L, a – 1 DO BEGIN
      FOR j = 0L, b – 1 DO BEGIN
      k = ( i * b ) + j
      spherical[0, k] = j * 360.0 / (a – 1)
      spherical[1, k] = i * 180.0 / (b – 1) – 90.0
      spherical[2, k] = 1.0
      ENDFOR
      ENDFOR

      ; Convert the spherical coordinates to rectangular coordinates.
      rectangular = CV_COORD(FROM_SPHERE = spherical, /TO_RECT, /DEGREES)
      z = REFORM( rectangular[2, *], a, b )
      x = REFORM( rectangular[0, *], a, b )
      y = REFORM( rectangular[1, *], a, b )

      ; Create the image
      img = BYTARR(360, 180)+255
      lat = indgen(37)*10-90
      lon = indgen(37)*10
      img[lon, *] = 0
      img[*, lat] = 0
      ; ii = image(img)

      ; Display the surface.
      s = SURFACE(z, x, y, LOCATION = [0, 0], TEXTURE_IMAGE = img, $
      aspect_z=1.0, transparency = 90, axis_style = 0)

      END

      3D로 구현하는 것은 기본적으로 surface 함수를 이용한 것이며,
      격자형 프레임은 따로 배열을 만든 후 surface 표현 시 texture_image 키워드를 통해,
      뒷면이 보이는 것은 transparency 라는 키워드를 통해 구현하였습니다.
      최종 사용 목적이 뭔지는 모르겠는데요, 위 내용에서 조금씩 수정하시어 사용하시면 될 것 같습니다.

      • 이 답변은 jhlee에 의해 7 years, 6 months 전에 수정됐습니다.
      • 이 답변은 jhlee에 의해 7 years, 6 months 전에 수정됐습니다.
    • #2975 Reply
      익명
      비활성

      답변 감사합니다^^
      감사히 잘 쓰겠습니다.

    • #2976 Reply
      Sangwoo
      회원

      약간 다른 방식일 수도 있겠지만, 제 IDL 블로그에 최근에 올린 게시물들의 내용도 참조해보시면 좋을 것 같습니다. 10월 21일 및 24일 2회에에 걸쳐서 올라온 내용을 보시면 됩니다.

      http://blog.daum.net/swrush

3 답변 글타래를 보이고 있습니다
'wireframe 3D sphere'에 답변달기
글쓴이 정보: