Topological analysis of vector fields

The idea of this technique is to investigate critical points of a vector field, based on the eigenvalues of the Jacobian J at these critical points. A critical point is defined as an isolated point where the vector field vanishes, i.e., where u = 0. The following cases can be identified, based on the eigenvalues λ1 and λ2 of the Jacobian: 

 



 Trace[J] = a + d ( a, d are components of matrix J)

 (Trace[J])^2 = 4 det[𝐽] is parabola 


Attracting node: The eigenvalues are real and negative, corresponding to a sink. 

(Trace[J])^2 − 4 det[𝐽] = 0, 𝑖𝑚𝑎𝑔𝑖𝑛𝑎𝑟𝑦 𝑝𝑎𝑟𝑡 = 0,  Trace[J]<0, det[J]>0


Repelling node: The eigenvalues are real and positive, corresponding to a source.

(Trace[J])^2 − 4 det[𝐽] = 0, 𝑖𝑚𝑎𝑔𝑖𝑛𝑎𝑟𝑦 𝑝𝑎𝑟𝑡 = 0,  Trace[J]>0, det[J]>0


Saddle pointThe eigenvalues are real and have opposite sign.

(Trace[J])^2 − 4 det[𝐽] = 0, 𝑖𝑚𝑎𝑔𝑖𝑛𝑎𝑟𝑦 𝑝𝑎𝑟𝑡 = 0, det[J]<0  Trace[J]<0 or  Trace[J]<0 (i.e a+d는 무관)


Repelling focus: Both eigenvalues are complex conjugate and their real part is positive. 

(Trace[J])7 − 4 det[𝐽] ≠ 0, 𝑖𝑚𝑎𝑔𝑖𝑛𝑎𝑟𝑦 𝑝𝑎𝑟𝑡 ≠ 0, Trace[J]>0 det[J]>0


Attracting focusBoth eigenvalues are complex conjugate and their real part is negative. 

(Trace[J])7 − 4 det[𝐽] ≠ 0, 𝑖𝑚𝑎𝑔𝑖𝑛𝑎𝑟𝑦 𝑝𝑎𝑟𝑡 ≠ 0, Trace[J]<0 ,det[J]>0






Parameter set 1


    critical point (0, 0)

    Jacobian

   


    Det |J-λI| = 0, λ1=1, λ2=-1

    The eigenvalues are real and have opposite sign.

ð  Saddle point.

 

Parameter set 2


    critical point (0, 0)        

    Jacobian

        


Det |J-λI| = 0, λ=1

    The eigenvalue is real and positive

ð  Repelling node.

 

Parameter set 3


    critical point (0, 0)

    Jacobian

       


Det |J-λI| = 0, λ=-1

    The eigenvalue is real and negative.

ð  Attracting node.

 

Parameter set 4


    critical point (0, 0)

    Jacobian


Det |J-λI| = 0, (-2-λ)^2+1=0 , λ^2+4 λ+5=0 , ,

    Both eigenvalues are complex conjugate and their real part is negative.

ð  Attracting focus.



The source of the problem is Professor Filip Sadlo in University of Heidelberg



벡터 필드의 벡터 v가 computational space에 정의되어 있다고 가정했을 때 유리한 점 (physical space와 비교하여)


Computational space는 기본적으로 Cartesian grid를 사용한다. Physical space는 가장 간단한 변환인 polar grid(극 좌표)부터 spherical coordinate(구면 좌표) curvilinear grid 등 어떤것이든(whatever) 될 수 있고 이것은 Cartesian grid보다 복잡하다. 


i.e. Computational space를 base로 하면 상대적으로 이상한 physical space에 비해 간단한 cartesian grid를 사용하여 interpolate(보간)도 쉽게 할 수 있고, 점의 위치도 쉽게 결정 할 수 있다. 



computational space에 있는 vector vJacobian을 이용해서 physical space에 있는 vector u 계산하기



벡터 필드는 곡선 그리드에 극좌표로 표현되고 주어진 Φ는 coordinate function(c->p 변환 함수)이다. [A vector field is given on a curvilinear grid by polar coordinates with the coordinate function] 



     

     


이 계산문제는 그닥 좋은 문제는 아니었다.

문제의 결과인 u는 cartesian grid가 된다. 즉 우리는 curvilinear한 C space에서 cartesian P space로 transfer 한 것이다. 그러나 C space는 보통 cartesian grid이므로 좀.. 이상한 문제가 된다.


핵심 개념은 rotation 파이와 Jacobian을 이용해서 r in c space -> p space , v in c space -> u in p space 하는 것이다. 



물리적 추론은 computational space에서 해야 할까 physical space에서 해야할까? 

[Should physical reasoning be done in computational space or physical space and why? ]

결론: physical space에서 해야한다.

이유: computational space는 physical space를 단지 추상화(abstraction), 단순화(simplification한 관점이기 때문에, 우리가 실제 공간을 단순화시키면 우리는 물리적 현상의 중요한 특징을 놓칠 수 있다.


Because computational space is just a term of abstraction and simplification of physical space, you might miss an important feature.



What are possible problems for r = 0?


    r = 0 is (0, 0) in cartesian coordinate. But If you express r = 0 in polar coordinates, you get an infinite number of cases. (0, pi), (0, pi/2).. and so on.     Therefore, we cannot know the direction of the vector.


Show whether Φ can be inverted at (r = 0, φ = 0). What are possible implications if this is not the case? 



Φ 는 Jacobian이다.

It is impossible for the denominator to be zero. (분모가 0이 되는 것은 불가능)

We can go to physical space by Jacobian but inverse Jacobian is impossible so we can't transfer to computational space. (P space로 갈 수 있지만 C space로 갈 수 없음)



The source of the problem is Professor Filip Sadlo in University of Heidelberg


2018년 2학기 Heidelberg 대학 Informatik(컴퓨터학과)의 SV(Scientific Visualization) 수업을 듣고 공부한 것을 정리한 글입니다.

학기는 2019년 2월 9일에 끝날 예정이라 기말 시험(Oral Test)을 준비하며 배운 내용, 과제 정리 글을 올립니다.


에이 이런거 한국에서는 딱히 안궁금해 할꺼야 엉엉...



Chapter 0 : Preliminary Discussion


# Scientific Visualization은 무엇? 배울 내용

과학적 현상이나 데이터를 그래프, 2D그림, 3D그림으로 시각화 하는 것. CT나 MRI, DNA구조, 각종 지도들 사진들이 이에 해당합니다. (볼 수 없는 것을 보게 해줌)

Visualization하는 과정(process), Interpolation과 filtering, Mapping 하는 법, Scalar field를 visualization 하는 법, Vector field, Tensor field Visualization하는 법

수학적 지식을 필요로 합니다. (Vector와 선형대수)


컴퓨터를 과목(알고리즘, 컴퓨터 그래픽, 기하학적 모델링 및 에니메이션) 이 선행되어 있으면 좋다고 하지만 

저는 뭐.. 안들었죠.  선행과목 없이도 들을 수 있지만 어렵네요! C++과 python을 사용합니다.



Chapter 1 : Introduction


SV에서 하는 것 : data를 변형(transformation)하고 특징(features)들을 뽑아내기(extraction)

내가 생각하는 시각화의 필요성은 결과가 그림으로 직관적으로 나오기 때문에 

전문가가 아니더라도 보는 사람이 쉽게 이해할 수 있게 만들어준다는 것


Examples: 

CT (Computed Tomography) 컴퓨터 단층 촬영기

CTA (Computed Tomography angiography) 혈관 조영술

Protein 구조, 자동차 3차원 모형, 토네이도 

멋있는 것들 매우 많은데 exercise는 일단 데이터 plot부터 시작


Bad Examples: 

1단원에서는 구술 시험에 아마 이 부분이 나오지 않을까 싶다.


1) Inconsistency of visual and data dimensions (시각화 된 것과 데이터의 차원의 불일치) - scaling by diameter

If we choose diameter as a scale, it's hard to compare how much the change value is. (But the information is reliable.)


Inconsistency of visual and data dimensions



[Source: S. Few, http://www.perceptualedge.com/example18.php, taken from J.P. Morgan] 

Solution : bar graph를 쓰는 것 


[Source: http://www.journalism.org/node/1472S, referenced by Few, http://www.perceptualedge.com/example14.php]



2) Non-zero baseline , No continuous depiction of time



Non-zero baseline , No continuous depiction of time

Because of no zero baseline, the figure of 2005 looks like 

almost 5 times difference, but actually figure is less than 

2 times difference.

Solution : Improved re-design


 점선은 추정 값이다.(1983년 부터 2003년의 값이 비어있기 때문이다. 실제 값이 있다면 실제 그래프는 추정선과 다를 수 있다.) 



3) Rubber band scales 



 Rubber band scales 

의사와 다른 전문직의 수입 비교 그래프 ( Rubber band scales가 정확히 뭔지는 모르겠지만.. 불명확한 모양의 값 표현 방식인듯)



Solution : linear time scale

Doctor's income: 1939부터 exponentially 증가

Other professionals' income: linearly하게 증가



4) missing context


 

Missing context ( 문맥이 없음 = 값 2개로는 규칙성을 찾을 수 없음)

only two values -> can't find a tendency


Solution : add context


 



수업을 정리하면서 수업자료를 얼마만큼 그대로 써도 괜찮을지 고민이 많다. 

구글에 키워드 검색하면 수업자료랑 똑같은 ppt들 여러개가 통째로 돌아다니던데 흠.. 자료에 있는 사진들 써도 괜찮을 것도 같고,,

사진이 없으면 설명하기 어려운 과목이니까;


Introduction은 무난하고 더 덧붙이면 사족이 될 것 같다. 그러나 과제와 수업은 다른 차원인듯하다.



Visualization Tool (+ 무료)

gnuplot을 설치하면 txt형태로 된 data의 graph를 그릴 수 있다. 마치 엑셀 그래프처럼 나온다. 복잡한 함수의 3차원 그래프도 그릴 수 있음.


gnuplot(graph plotting) : www.gnuplot.info



Filip Sadlo 교수님의 Scientific Visualization, WS 2018/19 수업의 pdf를 참고




Scalar Field Visualization



manifold : 다양체 -> 점, 직선, 평면, 원, 삼각형, 입체, 구 같은 기하학적 도형의 집합을 1개 공간으로 보았을 때의 공간 

/ 4차원 이상의 공간을 연구하기 위해 도입된 개념이다.(from 지식백과)

어렵다 뭔소린지..


일단은 1차원 manifold는 curve라고 이해하자.


1D scalar field에 대한 함수 plot  ex) 고차 함수 

Points {(s, f(s)) | s는 R에 속함}


2D scalar field 에 대한 Function plot

Points {(s, t, f(s,t)) | (s,t) 는 R^2에 속함 }



1차원 manifold = curve

2차원 manifold = surface



Isolines : 등치선 -> 동일한 값을 가진 점을 연결한 선 ex) 등압선, 등고선

Isoline은 절대 Cross 되지 않는다.


     Contour: 등고선으로 3차원의 특징을 가진다. -> Closed 됨












알아두면 유용한 표현


1. Haven't you heard? / 소식 못 들었어?


 -  haven't : have not : ~ 해보지 않았다 

- couldn't: ~할 수 없었다.


hear 듣다 heard: hear의 p.p


2. My credit card has expired. / 내 신용카드가 만료되었다. 

한 3년에 1번 쓰려나..?


3. Keep in touch. / 연락하고 지내자

친구 사이에 할 수 있음! ( 조금 어색할 수도..)

오랜만에 만났을 때! 

A : Hey~ Good to See you~~! 

블라블라블라.. 대화


A or B: I got to go. ( 오 이제 가봐야 해 )

A or B : Keep in touch or Stay in touch 


4. I'd like to check my grade. / 제 성적을 확인하고 싶어요.

성적을 잘 받아서 사용할 필요가 없는 말이었으면 좋겠지만!

my grade 대신 my reservation 이나 account 같이 뒤에 목적어만 바꾸면 유용하게 사용할 수 있습니다.

I'd like to check ~ 




  교환학생을 온지도 벌써 2달째 첫날에 프랑크푸르트 공항에서 버스 시간을 40분쯤 남겼을 때 
플릭스버스 정류장을 못 찾을꺼라는 직원의 말에 기차를 타고 하이델베르크로 갔던 흑역사가 생각나네요..
젠장(이 직원은 좀 나쁜듯;; 표 파는 곳 직원이었는데 표 팔라고 그런건가)


  그동안 많은 일이 있었고 다시 프랑크푸르트 공항에서 플릭스버스를 타고 하이델로 돌아올 일이 있었습니다.
 
  각설하고 프랑크푸르트에서 플릭스버스 정류장 찾기 시작합니다!(되게 쉬워서 어이가 없었습니다..)

0. 그냥 구글지도에 Frankfurt airport P36이라고 치고 거기로 가세요.

그냥 이곳입니다.. 플릭스버스 앱에서 Booking confirmation pdf만 눌러도 나와요. (다시 생각해도 정말 흑역사..)

1. 여러분이 제 1터미널에서 내린다면!! 운이 좋으십니다!! 딱히 이 글을 보실 필요도 없이 그냥 정류장을 잘 찾아가실 수 있을수도..
-입국심사하고 짐 찾고 1층으로 올라가세욤(짐 찾는게 지하 1층인듯) 건물밖으로 나가서 오른쪽으로 걷습니다. 끝 (한 6분걸림)

2. 2터미널에서 내리셨으면 셔틀버스를 타셔야 합니다! 

공항 밖으로 나가면 1터미널로 가는 셔틀버스 타는 곳을 쉽게 발견할 수 있어요 ( 10분에 1대 정도) / terminal 1 parking lot이런 정류장에서 내립니다.

이 정류장은 마지막 역이 아니므로 잘 챙겨서 내리셔야 해요 

그리고 내리면 셔틀버스에서 내리면 정류장이 바로 있는 것이 아니라 살짝(2분) 걸어야 합니다.


아주 급하면 처음부터 걸으실 수 있는데 길이 좀 복잡하네요 ( 차길이 많고 차도가 층으로 나눠져 있어서 어렵)

 건물 2층에 맥도날드가 보이실텐데 거기로 가지 마시고 그냥 1층 밖으로 나가셔서 왼쪽으로 쭉 걸으세요. 

수직으로 길이 나뉜다면 아래쪽으로!

짐과 함께 걸으면 15분쯤 걸릴것으로 예상(1.2km) 1터미널로 가서 나가시는 방법도 있습니다.

+ 직원한테 물어보면 플릭스버스 정류장은 제 1터미널과 제 2터미널 사이에 있습니다. 라는 답변을 들을 확률이 높은데 당황하지 마세요ㅎㅅㅎ 맞는말 입니다. 
1터미널 플버 2터미널 
이렇게 위치해 있음
+ 너는 1터미널로 가야해 라는 말을 들을 수도 있습니다. 
제가 위에 써 놓은 방법대로 가시면 됩니다.

사진 올립니당_플릭스버스는 Long distance 가는 거에요!

Parkplatz 36으로 가면 되욤

제 1터미널에서 정류장 가는길

이곳이 플릭스 버스 정류장의 모습입니다!! 아무것도 없고 참 정류장 같이 안생겼어요. 당황하지 마세요!

버스 정류장임을 주장하고 있는 게시판

2층 버스다!

구글지도를 보면서 걸어도 헷갈릴 때가 있죠! 또 프랑크푸르트 공항이 처음이고 해외가 익숙하지 않으니  당황스럽고요. 
그러면 그냥  직원 분들에게 빠르게 물어보세요.. 그 대답도 헷갈리면 다른 분한테 또 묻고 여러번 물어보세요. 

버스 놓치지마세요오!


플릭스버스 저렴하고 편..편하긴한데 연착도 은근 많이 되고 
기사분들이 바로 앞에서 표 검사하면서까지 담배 피우시는 경우가 많아서 많이 좋아하지는 않습니다ㅎㅎ..


교환학생을 가시는 분들이나 해외여행을 계획한 학생분들은 국제 학생증을 많이 가지고 계실 것이라고 생각합니다. 
발급비는 학교에서 공짜로 만들어 주는 시즌에 만들지 않으면 17000원이나 드는데 해외에서 은근히 잘 활용을 못하는 것 같아요.

제가 가장 자주 쓰고 있는 혜택은 플릭스버스 할인입니다!!

국제 학생증으로는 플릭스 버스를 할인 받을 수 있습니다. 
지금 받을 수 있는 할인은 3유로 할인, 10%할인, 15%할인이 있어요.

국제 학생증으로 플릭스 버스 할인 받기

1. 핸드폰에서 ISIC 앱을 깐다.

2. 카드를 등록한다. (카드 번호랑 카드에 써 있는 이름대로 치면 됨)
3. 앱 검색창에 Germany flixbus 검색

(아니면 Germany검색 결과로 나온 플릭스버스로 들어가도 됨)

4. 원하는 할인 선택!

5. 3유로할인이나 15% 할인이 좋겠죠!! 3유로 할인은 학기 중에 1번만 사용할 수 있지만 15% 할인은 2018년 12월 15일까지 무제한으로 받을 수 있습니다!!!

카드 번호와 이메일, 카드에 적힌 이름을 정확히 적으면 E-mail로 할인 바우처가 날아옵니다. 영어+숫자 코드에요.

6. 받은 코드를  filxbus의 redeem voucher에 붙여 넣습니다!

그러면 이런식으로 파파박 할인이 됩니다!!

저는 이미 17000원 이상은 할인 받은거 같아서 넘나 만족만족! 12월 15일이 지나도 10%할인은 계속 받을 수 있어요!! 모두모두 할인 받읍시당ㅋㅋ

이 글이 제가 지금까지 올린 글 중에 가장 유용할 것 같네요ㅎㅎ


독일에서 병원을 가보자!



나는 독일에서 1년간 교환학생을 하게 되어서 무조건 AOK의 학생 보험을 들어야 했다. 가격은 무려 한달에 91유로.. 어마무시하게 비싸다.

대신 치과 치료까지 cover가 된다고 한다. 보험의 시작 기간은 10월 1일 부터 이므로 그전까지는 아프지 않게 건강관리를 나름 하며 버텼다.


어쨌든 이렇게 비싼 보험료를 내게 되었으니 10월 부터는 조금만 아프면 병원에 가기로 하였다. 건강은 소중하니께..



지난 2달 동안 한국에서는 전혀 아프지 않았던 곳이 아팠다.


9월 초 부터 오른쪽 4번째와 5번째 손가락이 아팠는데 자고 일어나면 더 아프고 구부릴 때도 아팠다. 더 말하면 TMI이니 넘어가고,

아무튼 냅두면 나을 줄 알았는데 한 달 넘도록 낫지 않는 것이 뇌피셜로 관절염으로 생각되어 10/15 일에 정형외과를 다녀왔다.


독일에서 병원 가는 법


1. Orthopädie heidelberg 라고 구글에 검색한다. ( 가고 싶은 병원과 지역을 검색 )


2. 약속을 잡는다. Appointment or Termin(테어민) 


but.. 사실 약속을 전화로 잡고 가면 훨씬 좋지만 우리는 그런 것에 익숙하지 않지 않은가ㅜㅜ 그리고 전화 은근 연결 잘 안됨 ㅎㅎ 

메일 주소가 있다면 메일을 보내면 답장이 온다.


2-1 그냥 약속 잡지 말고 간다. ㅎㅎ 그래도 되긴 한다. 단!!! 웬만하면 구글에 나오는 병원 오픈 시간에 가도록 하자 그래야 안기다리고 바로 봐준다.

나는 정형외과를 갈 때는 그냥 갔다. 9시에 갔는데 다행히 사람이 별로 없었다.




내가 간 병원은 이곳이다. 가까워서 갔다. 


3. 독일의 대부분의 병원은 여러 과들이 같이 있을 확률이 높다. 여기는 Elisabeth 병원에 소속되어 있는 것 같았다.  

Information 센터에 Orthopädie 어디냐구 물어보자


4. 2층 (우리로 치면 3층) 에 닥터의 진료실이 있었음


5. 접수를 하자 AOK 카드를 보여주면 된다 + 어디 아픈지 조금 말하기



6. 운 좋게 의사 선생님을 10분 만에 봤다. / 의사 선생님한테 어디가 아픈지 설명을 해야 하므로 말 할 것을 준비해갔다. ( 프리 토킹 되시면 당연히 그냥 말하면 된다.)



7. X-Ray 찍음 



8. 의사 선생님 소견 들음

9 월요일에 갔는데 목요일에 오라고 약속 잡음 (약속 잡은 종이 사진을 찍어 놓을걸 버려 버렸다..)

10. 약국에서 약을 받으면 끝



* 결론 - 약 묵으니까 걍 나아버림 ㅎㅅㅎ

* 병원비는 무료지만 슬프게도 약 값은 내야 한다.. 됴륵 

그리고 X-Ray를 찍는데 오래 기다렸다. + 다시 의사선생님을 보기까지 오래 걸렸다 ( 그날 수술이 있다고 한 20분 기다렸다. )

* 모든 것은 운빨이다. 그리고 결과적으로 나는 진통제+소염제를 받는데 2시간 반이나 걸렸다. 

* 이럴꺼면 그냥 약국 가는게 빠름 but 그냥 약국으로 직행 하면 의사 선생님을 보고 오라는 답변을 들을 확률이 있음.

* Orthopädie라는 단어를 정확히 알았다 + arthritis(관절염) 이라는 단어도..


* 목요일에 다시 병원가니까 2분만에 끝났다. 의사 쌤: 나았니? / 나: 얍 다 나았어. / 의사 쌤: 그럼 다음주 이 시간에 또 와. /  나: 읭? /  의사 쌤 :  다음주에 보고 close the case 하자 ( 나 무슨 셜록인줄 ㅎㅎ)

* 다음주 목요일에 수업 보강이 잡혀서 안갔다링 다 나았다링!

* 안과도 갔는데 그건 다음에 알아보자.


cf. 10월 29일인 지금.. 아직 보험료가 빠져 나가지 않았다! 좋은 일이긴 하지만 궁금해서 AOK에 물어 보니 11월 15일 까지는 나간다고 한다. 

참 일처리가 느린 아이들이다..;


+ Recent posts