Sangwoo

게시판 답변이 생성됐습니다

15 글 보임 - 1 에서 15 까지 (총 358 중에서)
  • 글쓴이
  • Sangwoo
    회원

    Sav 파일 내에 수록된 여러 아이템들 중 개별 아이템만 골라서 추출하는 것은 가능하지만, 배열 아이템에 대하여 그 배열 내의 일부 원소들만 골라서 추출하는 것은 불가능합니다.

    답변: New graphics에서 그래프 이동 기능 #5927
    Sangwoo
    회원

    예. 이게 IDL의 문제가 아니고 트랙패드라는 기기 자체의 특성에 의한 문제이기 때문에, 별도의 유틸리티를 사용하거나 애플이 뭔가 조치를 취해주지 않는 한은 말씀하신 대로 스크롤 버튼이 탑재된 마우스를 별도로 사용하는 것이 가장 확실한 해결책일 것 같습니다.

    답변: New graphics에서 그래프 이동 기능 #5925
    Sangwoo
    회원

    제가 좀 더 알아본 바로는(정확하지 않을 수도 있습니다), 마우스의 스크롤 버튼을 누르는 액션 즉 미들클릭(Middle Click)에 해당되는 액션이 애플의 트랙패드에서는 공식적으로는 지원되지 않는 것 같습니다. 아마도 별도의 유틸리티 앱을 따로 설치하는 방법으로만 가능한 것으로 보입니다. 혹시 모르니 Mac OS의 설정에서 트랙패드와 관련된 세부 항목들 중에 관련 항목이 있는지 한번 확인해보시면 어떨까요?

    답변: New graphics에서 그래프 이동 기능 #5924
    Sangwoo
    회원

    안녕하세요. 아마도 마우스의 스크롤 버튼을 누른 상태에서 드래그를 해서 그림의 프레임 내부가 움직이도록 하는 경우를 말씀하시는 것으로 보입니다. 다만 동일한 제스쳐를 맥의 트랙패드에서 어떻게 구현해야하는지에 대해서 나름대로 알아봤지만 확실한 답을 찾지는 못했습니다. 애플 홈페이지에서 관련 정보를 찾아봐도 답이 될만한 단서는 안보이는 것 같습니다.

    https://support.apple.com/ko-kr/HT204895

    아무래도 애플 트랙패드라는 주변기기 자체의 특수성과 관련된 이슈이다보니 답을 찾기가 쉽지는 않더군요.

    답변: contour line 질문 #5920
    Sangwoo
    회원

    그리고 추가적으로 언급을 드리자면, 원래 올려주신 코드에서 cntr2를 구현할 때 C_THICK의 값이 0.01로 매우 작게 설정되어있는데요. 어차피 contour의 라인이 보이도록 하실 의도라면 이렇게 작게 할 필요는 없습니다. 그냥 1 또는 2 정도의 값으로 설정해도 충분합니다. 그렇게 할 경우에는 굳이 ANTIALIAS를 0으로 설정하는 처리는 필요가 없습니다. 즉 ANTIALIAS를 0으로 설정해야만 해결되었던 이유는 애초에 C_THICK의 값이 0.01이라는 너무 작은 값으로 설정되었기 때문이라고 보시면 됩니다. C_THICK의 값을 1, 2 등과 같은 무난한 값으로 설정을 한다면 굳이 ANTIALIAS 설정을 또 할 필요는 없다는 점을 유의하시면 됩니다.

    답변: contour line 질문 #5919
    Sangwoo
    회원

    저도 간단히 테스트를 좀 해본 결과, cntr2에서 ANTIALIAS를 0으로 설정하면 해결이 되는 것을 확인하였습니다. 정확한 이유는 저도 잘 모르겠지만 그 방법이 가장 좋을 것 같습니다. 감사합니다.

    Sangwoo
    회원

    반투명 처리 및 투명도 조절은 DG 체계에서는 지원되지 않습니다. NG 체계에서는 가능합니다. 언급하신 캡쳐를 이용한 방법은 DG 체계에서 시도해볼 수 있는 하나의 우회적인 방편이긴 하지만, 말씀하신대로 데이터 포인트들이 많을 경우에는 사용하기가 매우 힘듭니다. NG 체계에서 SCATTERPLOT 함수를 사용하는 것이 가장 확실하고 편리한 방법이라고 말씀드리고 싶습니다. SCATTERPLOT 함수의 사용 방법은 IDL 도움말에서 해당 내용을 참조하시면 되고, 데이터 포인트 심볼들의 투명도는 SYM_TRANSPARENCY 속성을 사용하여 조절하면 됩니다.

    답변: shape 파일에서 도시경계뽑기 #5844
    Sangwoo
    회원

    사용하신 shp 파일은 아마도 좌표값들이 m 단위의 거리값들로 수록된 경우인 것으로 보입니다. 반면 제 블로그 게시물에서 사용된 shp 파일은 내부적으로 좌표값들이 경도/위도 단위로 수록되어 있는 경우입니다. 어차피 shp 파일에 수록된 좌표값들의 단위는 그 shp 파일의 원제작자 측의 의도에 따라 경도/위도가 될 수도 있고 거리가 될 수도 있습니다.

    • 이 답변은 Sangwoo에 의해 2 years, 9 months 전에 수정됐습니다.
    답변: read_csv를 이용한 파일 읽기 #5820
    Sangwoo
    회원

    질문하셨던 내용에서 시간에 해당되는 첫번째 컬럼을 string으로 읽어보려 했으나 적용이 되지 않았다고 하신 것은 결국 첫번째 컬럼이 문자형이 아닌 다른 자료형(정수나 실수?)으로 인식되었다는 말씀인가요? 그리고 첫번째를 제외한 나머지 컬럼들은 원래의 의도는 float였지만 실제로는 double로 인식되었다는 말씀인 것으로 보입니다. 저도 한번 테스트를 해보았는데 별 다른 문제없이 잘 됩니다. 제가 윈도우즈 및 Mac용 IDL 8.8, 8.7.3, 8.7.2에서 모두 테스트를 해본 바로는 그렇습니다. 따라서 제 입장도 바로 윗 댓글과 마찬가지입니다. 즉 언급하신 문제에 대한 원인이 무엇인지에 대해서는 저도 모르겠습니다.

    별 도움은 안될 것 같지만 노파심에서 말씀드려보자면, 사용중이신 IDL의 커맨드 입력창에서 다음과 같은 명령을 실행하여 read_csv.pro 코드 파일을 편집기에서 오픈해보시고,

    IDL> .edit read_csv

    이게 잘 된다면 오픈된 상태에서 read_csv를 컴파일만 한번 해준 다음에 다시 원래의 작업하시던 프로그램을 실행해보시기 바랍니다. 물론 이 방법이 근본적인 해결책은 아니긴 하지만, 현재 상황에 대한 진단 차원에서 한번 해보시는 것도 나쁘지 않을 것 같습니다.

    답변: Erroplot 에서 Symbol과 Error Bar 순서 #5758
    Sangwoo
    회원

    위의 댓글 내용대로 먼저 ERRORPLOT 함수로 심볼없이 에러바만 먼저 표출한 다음, PLOT 함수를 사용해서 심볼만 덧그리는 방법이 가장 효과적입니다. 만약 이 방법이 제대로 안먹힌다면 뭔가 다른 문제가 있는 것일 수도 있습니다. 데이터 포인트의 갯수가 많은 것과는 상관이 없습니다. 일단 아래 링크의 내용을 한번 참조해보시기 바랍니다.

    http://blog.daum.net/swrush/552

    그럼에도 불구하고 계속 문제가 발생한다면 표출에 사용된 코드의 내용이나 스샷을 보여주시면 문제점 파악에 더 도움이 될 것 같습니다.

    • 이 답변은 Sangwoo에 의해 3 years, 7 months 전에 수정됐습니다.
    답변: IDL 작업창에서 스크롤.. #5712
    Sangwoo
    회원

    IDL 워크벤치 인터페이스에서 문서편집기에서의 스크롤 속도를 말씀하시는 것인지요? 저도 환경설정에서 찾아봤지만 그러한 세부 설정 기능은 없는 것으로 알고 있습니다. 새로 설치하기 전에는 스크롤 속도가 정상이었는데, 새로 설치 후에 그러한 현상이 발생하고 있다는 말씀이신지 궁금합니다. 제 컴퓨터가 아니라서 제가 판단을 내리기가 어렵긴 하지만, 혹시 IDL이 아닌 다른 문제일 가능성은 없을까요?

    답변: volume 함수에서 색상 #5695
    Sangwoo
    회원

    저는 원본 데이터를 갖고 있지 않기 때문에 코드에 적어주신 내용대로만 볼 수 밖에 없는데요. FLTARR 함수로 생성된 배열은 모든 값들이 0.0으로 통일됩니다. 그래서 코드에 명시된 data 배열의 값들이 모두 0.0이 될 수 밖에 없어서 그렇게 말씀을 드렸던 것입니다. 어쨌든 우선은 다음과 같이 배열 data의 최소 및 최대값이 얼마인지 VOLUME 함수에 투입되기 직전에서 확인을 해보시기 바랍니다.

    data=ttec[*,*,*]
    print, min(data), max(data)
    vol=volume(data,rgb_table0=table_num,max_value=10, min_value=0,ASPECT_RATIO=1,/current)

    볼륨의 색상이 전반적으로 붉게 나타나는 것은 39번 컬러테이블에서 뒷부분의 색상들만 활용되고 있다는 뜻입니다. 어쩌면 data 배열의 값들이 10 근처에서만 왔다갔다하는 상태여서 그럴 수도 있습니다. 예를 들어 실제로는 값들의 범위가 9~10인 상황이라면 그런 현상이 나타날 수 있습니다. 따라서 이미 말씀드렸듯이 VOLUME 함수에 투입되기 직전의 data 배열의 상태를 다시 한번 확인해보는 것이 필요할 것 같습니다.

    답변: NG 3d 그림에서 yz 혹은 xz plane image #5692
    Sangwoo
    회원

    제가 다시 확인을 해보니까 POLYFILL 명령을 사용할 때 PATTERN, IMAGE_COORD 등의 키워드를 사용하여 작업하되 그래픽 디바이스를 Z Buffer로 셋팅해놓으면 이미지 텍스쳐를 입히는 것이 가능하네요. 저도 사실 최근들어 주로 NG에서만 작업을 하고 DG에서는 별로 작업을 안해왔기 때문에 그런 세세한 부분들까지는 제대로 인지하지 못했던 것 같습니다. 하여간 저도 유저의 한 사람으로써 NG 체계에서도 그러한 기능이 빨리 보강되었으면 하는 바램을 가져봅니다.

    답변: volume 함수에서 색상 #5690
    Sangwoo
    회원

    말씀하신 증상이 VOLUME 함수로 표출된 볼륨 가시화 그림이 이상하다는 것인지 아니면 함께 생성된 컬러바가 이상하다는 것인지 궁금합니다. 그리고 예제코드에서 VOLUME 함수에 사용된 3차원 배열 data의 경우는 최소값 및 최대값이 모두 0이기 때문에, 볼륨으로 가시화할 경우에는 XYZ축 외에는 아무것도 나타나지 않습니다. 최소값과 최대값이 서로 차이가 나는 배열일 경우에는 정상적으로 표출됩니다.

    볼륨 가시화에서 한가지 염두에 둬야 할 것은, 색상외에 Opacity(불투명도)라는 개념이 있어서 IDL의 VOLUME 함수에서는 최소값부터 최대값까지 범위에 대하여 Opacity가 0~255의 범위로 대응된다는 것입니다. 따라서 어떤 3차원 볼륨 데이터에 대하여 최소값이 0이고 최대값이 100이라고 한다면, 값 0은 Opacity 0에 대응되어 완전 투명 처리가 되고 값 100은 Opacity 255에 대응되어 완전 불투명 처리가 됩니다. 그리고 그 사이 값들은 어중간한 불투명도를 갖게 됩니다. 볼륨 가시화에 있어서는 이러한 방식을 고려하는 것이 필요합니다.

    답변: NG 3d 그림에서 yz 혹은 xz plane image #5688
    Sangwoo
    회원

    말씀하신 것처럼 NG 체계에서 구현된 3차원 XYZ 공간상에서는, IMAGE 함수를 이용하여 XY 평면의 형태로 이미지를 구현하고 이미지 평면의 Z축 방향 높이를 ZVALUE 속성을 사용하여 변경하는 것이 가능합니다. 그런데 이 방법은 이미지 평면을 XY 평면의 형태로만 구현 가능합니다. XZ 또는 YZ 평면의 형태로 구현하는 옵션은 지원되지 않습니다. 그래서 XY, YZ, XZ 평면 또는 임의의 평면에 대해서 이미지 텍스쳐를 적용해야 할 경우에는 NG 체계에서는 현재로서는 해결책이 없습니다. NG 체계에서는 POLYGON 함수를 사용하여 평면 폴리곤을 구현하는 것까지는 가능하지만, 평면 폴리곤상에 이미지 텍스쳐를 적용하는 기능이 지원되지 않기 때문입니다. 물론 NG 체계에서 SURFACE 함수로 구현된 폴리곤에 대해서는 이미지 텍스쳐를 적용하는 것은 가능하지만, 문의하신 내용에 맞는 해결책은 되지 못합니다.

    그리고 DG 체계의 POLYFILL 프로시저에서 PATTERN 키워드로 비트맵 형태의 이미지를 패턴의 형태로 표출하는 것을 언급하셨는데요. 패턴과 이미지 텍스쳐는 엄연히 다릅니다. 이게 말로만 설명이 가능할지 모르겠는데, 패턴의 경우는 평면이 기울어져 있어도, 패턴 이미지의 모습은 내가 화면을 보는 시선 방향과 항상 수직입니다. 그러나 이미지 텍스쳐의 경우는 평면이 기울어지면 그 기울기에 맞게 이미지도 휘어집니다. 그래서 POLYFILL의 PATTERN을 사용해도 원하시는 결과를 얻을 수는 없을 것입니다. 사실 IMAGE 함수에도 유사한 기능을 하는 PATTERN_BITMAP 속성이 지원되는데, 이것 역시 해결책과는 거리가 멉니다.

    따라서 결론적으로 얘기하자면, 이러한 작업을 제대로 하려면 OG 체계에서 작업을 해야하는 것이 맞습니다.

15 글 보임 - 1 에서 15 까지 (총 358 중에서)