중심에서 떨어진 거리 비 계산

게시판 IDL Q&A 중심에서 떨어진 거리 비 계산

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #686 Reply
      mong
      회원

      안녕하세요.
      idl 6.2를 쓰고 있구요 프로그래밍을 하다가 막히는 점이 있어서 여기에 여쭈어봅니다.
      아래 링크의 그림을 보시면,
      question

      a라는 중심이 있고 그 주변으로 하나의 닫힌 contour 라인이 있습니다. 중심과 contour 사이에 점(b)이 하나 있구요.
      a와 b를 contour까지 확장한 선을 그어서 ab/ac를 계산하고 싶은데요, 적당한 함수나 프로시져가 있을까요?

      polyline함수를 쓰려고 해도 a와b를 이은 직선이 contour에서 만나는 점(c)의 위치를 모르니 쓸수가 없군요.

      좋은 해결 방법이 있으면 알려주세요.

      p.s. 아직 구게시판에 익숙해서인지 새로 바뀐 qna게시판은 글쓰기가 불편하네요;;; 파일직접 첨부하는 버튼이 안보여서 링크로 대체합니다. 제가 html에 익숙치 않아 글쓰기를 누르면 보이는 옵션중에 /del, ul, /ol, /li 등등의 버튼이 뭔지도 모르겠구요;;

      • 이 게시글은 mong에 의해 10 years, 11 months 전에 수정됐습니다.
      • 이 게시글은 mong에 의해 10 years, 11 months 전에 수정됐습니다.
      • 이 게시글은 mong에 의해 10 years, 11 months 전에 수정됐습니다.
      • 이 게시글은 mong에 의해 10 years, 11 months 전에 수정됐습니다.
    • #706 Reply
      JongHyeon
      회원

      적당한 함수는 찾지 못했습니다만, 데이터의 양이 절망스럽게 많지 않고 적당한 오차범위에서 contour가 그려진다면 다음과 같은 방법은 가능할 것 같습니다.

      a에서 b를 지나는 직선의 x값과 y값을 x1,y1로 하여 배열을 만들고(이때 시작은 a점으로 하면 좋습니다) contour의 x값과 y값을 x2,y2의 배열로 존재한다면 다음과 같은 방법도 가능합니다.

      (만약 4개의 배열이 다 1000개의 값을 가진다면)
      z1=fltarr(1000,1000)
      z2=fltarr(1000,1000)
      for i=0,999 do for j=0,999 z1[i,j]=abs(x1[i]-x2[j])
      for i=0,999 do for j=0,999 z2[i,j]=abs(y1[i]-y2[j])
      sumz=sqrt(z1^2+z2^2)
      result=min(sumz,tmp)
      where=tmp MOD 1000

      print,x1[where],y1[where]

      이렇게 하시면, c의 근사값은 구할 수 있을 것이라 생각합니다.

1 답변 글타래를 보이고 있습니다
'중심에서 떨어진 거리 비 계산'에 답변달기
글쓴이 정보: