- This topic has 3개 답변, 2명 참여, and was last updated 9 years, 10 months 전에 by Sangwoo.
-
글쓴이글
-
-
안녕하세요.
제가 여러개의 plot들을 에러 범위와 함께 하나의 그래프에 나타내려고 합니다.
에러바로 표현하자니 plot들이 너무 많아서 복잡해 보여 에러 영역을 polyfill 이나 cgpolygon을 이용해서 표현해 보았습니다. 그런데 겹치는 부분들은 마지막에 그려진 영역이 다 덮어 버리더군요.
반투명하게 영역을 나타나게 할 순 없나요?또 new graphics를 사용할 때,
p = plot(x,y) 이 명령어를 입력하면
Attempt to call undefined procedure/function: ‘PLOT’
이라는 에러 메세지가 뜹니다. 그런데 같은 프로그램에서
p = plot3d(x,y,z) 를 입력하면 아무 이상없이 실행이 되는군요.IDL 버전은 8.1입니다. 이런 현상은 왜 일어나는 건가요?
-
Sangwoo회원
폴리곤의 vertex들을 설정할 때 시작점이 마지막에 한번 더 나와야 합니다. 그래야 폐곡선의 내부만 색상으로 채워지게 됩니다. 예를 들어서 포인트가 네 개일 경우 vertex의 X좌표 값들이 x1, x2, x3, x4가 있을텐데 여기까지만 적은 상태로 색을 채우면 안되고, x1, x2, x3, x4, x1과 같이 시작점이 막판에 한번 더 등장해야 한다는 의미입니다.
그리고 두번째 질문과 관련해서는, 이게 아주 드물게 나타나는 버그성 현상인 것으로 보이는데요. 일단 커맨드 입력창에서 plot(x, y)을 타입했을 때 plot이란 글자의 색상이 초록색으로 바뀌는지 확인해보시고요. 만약에 글자 색상이 검은색에서 전혀 변하지 않는다면, IDL을 다시 한번 설치해보시면 어떨까 합니다.
-
답변 고맙습니다.
폴리곤의 경우 말씀하신대로 이미 폐곡선이 되도록 설정했고 에러 영역이 채워집니다.
그런데 제 질문은 서너개의 plot과 각각 이에 해당하는 에러 영역이 겹쳐지는 경우, 마지막으로 그려진 폴리곤이 앞서 그려진 영역을 다 덮어버려 plot들을 알아볼 수가 없었습니다. 그래서 채워지는 색을 반투명으로 해서 여러개가 겹쳐지더라도 다 구분이 가능하도록 그릴 방법이 없는지 질문한 것이었습니다.
제가 약간 모호하게 글을 쓴 것 같습니다.인터넷에서 polygon이란 명령어와 이 명령어에 transparency라는 키워드가 포함되어 있어 테스트 해보았는데, 두번째 질문의 이유로 실행이 되지 않더군요. IDL을 개인 컴퓨터에 설치한 것이 아니고 서버를 통해 이용하고 있어 확인하려면 시간이 좀 걸릴것 같습니다.
다른 대안이 없는지 궁금합니다.
- 이 답변은 hongepark에 의해 9 years, 10 months 전에 수정됐습니다.
-
-
Sangwoo회원
일단 IDL 커맨드 입력창에서 아래와 같은 두 명령을 실행해보세요.
IDL> .edit plot
IDL> .edit plot3d각 명령을 실행하면 plot 및 plot3d의 소스코드가 에디터창에 뜨게 됩니다. 그리고 각 소스코드 파일이 저장되어 있는 경로가 IDL 인터페이스의 최상단 바에에 표시가 됩니다. 우선 이 과정들이 순조롭게 진행되어야 하고, 만약에 이 과정에서 에디터에 파일이 안나타난다든지 하는 경우가 발생한다면 애초에 설치과정에 뭔가 문제가 있었단 얘기입니다. 그리고 만약 이 과정까지 잘 되는 경우라면, plot.pro가 에디터창에 떠있는 상태에서 컴파일 버튼을 눌러 컴파일을 인위적으로 해준 다음 PLOT 함수를 사용해보세요.
그리고 서버에 설치된 IDL을 네트웍을 통해 끌어와서 사용하신다면 아마 Floating 버전인 것 같은데, 다른 사용자들도 다른 컴퓨터에서 같은 문제를 겪고 있는지 확인해보시는 것도 필요할 것 같습니다.
-
-
글쓴이글