본문 바로가기

파이썬

지구에서 최단 비행경로, 위성궤도 시각화 가끔 folium의 지역위주의 지도표시를 넘어 국가적, 지구적인 지도(그림파일)에 데이터 표시가 필요할 때가 있습니다. 특히나 지구본 처럼 구 형태에 시각화를 하고 싶을 때, 바로 그때 유용한 패키지가 basemap 인데요. 저는 이번에 지구본에서 최단경로로 움직이는 비행경로(측지선 geodesic)를 시각화해 볼게요!!! 물론 자유 소프트웨어 파이썬을 이용합니다! 충성!! 충성!!! 먼저 좋은 아이디어와 수학적 증명은 아래 블로그에서 힌트를 많이 얻었습니다. 감사드립니다! C/C++ 반복-이완 계산법으로 알아보는 비행경로 (tistory.com) 여기서는 핵심만 요약해서 간략히 정리할 예정입니다. 1. 지구 위에 2 지점(위경도) 사이에 최소거리는 ? 다양한 해법이 있겠지만, 저는 이 방법이 제일 간단.. 더보기
로또번호 분석 & 제조기 올해도 어김없이 새해가 밝았습니다. 저는 새해 첫날을 특별한 이벤트 없이 가족과 함께 고요하게 보냈네요. 이제 한살 더 먹는것이 이제 점점 무덤덤하고 무상 하지만, 새해만큼은 우리가족이 작년보다 더 건강하고 행복하고 발전되기를 기대하게 됩니다. 여러분들 모두도 올해 대박나고 행복하시길 기원합니다! 올해는 블로그활동을 좀 더 힘차고 왕성하게 할 생각입니다.(작심삼일) 팍!팍!팍! 기운을 내고, 그 시작으로 대박기원 '로또번호 분석과 제조'에 대한 얘기를 해볼게요! 먼저 이론를 간략히 정리하면, 정규 분포(normal distribution) 또는 가우스 분포(Gaussian distribution)는 연속 확률 분포의 하나이다. 정규분포는 수집된 자료의 분포를 근사하는 데에 자주 사용된다.정규분포는 2개의.. 더보기
파이썬으로 별 이름표 붙이기(별주석) 별 사진을 찍은 경험이 누구나 있을텐데요. 밤하늘에 아름답게 빛나는 별에 대해서 자세히 알거나 구분할 수 있는 사람은 의외로 드물 것 같습니다. 저도 어릴적에는 막연하게 낭만적으로 동경했던 정도인데, 근래에 시간과 여유가 생겨 우주에 관심을 가지고 취미생활(?)로 공부를 조금씩 해 보니 알아가는 과정이 상당히 재밌네요. 여러분도 이런 즐거움을 함께 느낄 수 있으면 좋겠습니다.^^; 사실 별은 하늘에 빽빽, 촘촘히 무수히 많을 테지만, 현재 주변환경에서 인간의 눈에 잘 관찰되는 북극성 등 247개의 대표적인 별을 대상으로 촬영한 별사진에 이름표를 붙여보려고 합니다! 이미 인터넷 사이트(nova.astrometry.net)에 접속하면 알아서 별자리를 그려주기도 하고 실시간으로 촬영화면에서 플레이트 솔버 기능.. 더보기
GPIB를 이용한 네트워크 분석기 활용 회사에 놀고있는 고가의 네트워크분석기(HP 8753ET)를 공부하고, 실무에 스마트하고 활용해 보고싶어서 시도했습니다. 그래서 네트워크분석기의 기초적인 활용과 파이썬 통한 데이터통신 및 시각화 예시가 오늘의 주제 입니다! 네트워크 분석기(VNA, vector network analyzer)는 소스와 수신기가 모두 포함되어 있습니다. 이를 통해 알려진 자극을 사용하여 DUT(device under test, 피시험 장치)를 자극하고 여러 수신기가 응답을 측정 할 수 있습니다. VNA에는 여러 채널과 포트가 있어 수신기가 DUT의 입력과 출력을 동시에 측정 할 수 있습니다. 따라서 VNA는 신호를 측정하는 것이 아니라, 수동 또는 능동 장치의 고유 한 RF 특성을 측정합니다. 먼저 GPIB(물리 인터페이스).. 더보기
파이썬 GUI 실행파일 만들기(전력변환기) 이번 포스팅은 파이썬으로 만드는 윈도우 GUI 실행파일 만들기 입니다. 저도 tkinter 와 pyinstaller 공부하면서 정리하는 것이라 조금 더 정성을 들인다면, 다양하고 멋진 GUI 결과물을 만들 수 있을 듯 합니다. 예전에 전력, 전압 단위변환 계산식을 엑셀로 만든것이 있는데, 요것을 파이썬으로도 만들어 봤어요. 안테나로 수신되는 일률과 전압 퍼텐셜 관계를 변환하는 것인데, 마지막에 AF[db/m]=E[dbμV/m]-V[dbμV]를 더하면 전기장세기(E)도 구할수 있습니다. 쉽게 예를 들면 이런식이에요. 1[W] = 30 [dBm] = 137 [dBμV] , 0 [dBm] = 0.001[mW] = 107 [dBμV] 변환되는 식을 어떻게 구했냐면, 10·log [mW] = [dBm] ↔ 10·.. 더보기
파이썬으로 별자리판 만들기(1) 별자리판이란 관측하고 싶은 날짜와 시각에 눈금을 맞춤으로써 그때의 별자리 배치를 쉽게 알 수 있도록 한 기구이다. 내가 우주와 별들에 대해 관심을 가지게 되고 나서 제일 먼저 해보고 싶은 던 일이다. 나라는 티끌같은 존재는 도대체 이 광막한 우주 어디에 살아가고 있는 것인가? 우선 내가 밟고 있는 이곳과 여기서 관찰할 수 있는 자연현상을 알아야 한다. 그래서 물론 굉장히 단순화하고 대략적이긴 하지만, 해와 달 그리고 무수한 별들이 뜨고 지는 반복적인 자연의 현상을 그래픽으로 구현해 보고 싶었다! 나 같이 일반인도 쉽게 이해할 수 있을 정도의 수준(고등학교 수학)으로 내가 파이썬을 활용하여 공부한 별자리 원리와 구현을 여러분과 공유해 보고자 한다. 1. 기본적인 수식 ㅇ 회전변환행렬 : [[cos(th),.. 더보기
구면삼각법과 적도좌표계 이번에는 구면삼각법을 공부하여, 실제 적도좌표계와 지평좌표계에서 적용해 보고 이해를 확장해 보려고 한다. 생각은 간결하지만 이것이 간단한 주제도 아니고 연관된 범위도 아주 넓다. 그래서 엄밀한 수식 증명은 생략하되, 언제나 그렇듯이 그래픽 구현 검증으로 직관을 높일 수 있는 것이 목적이다. 그럼, 먼저 기본적인 구면삼각법 정리부터 하자! 대원 : 구를 그 중심(o)을 지나는 평면으로 자를 때에 생기는 원 또는 그 둘레 A, B, C : 점 A에서 교차하는 두 대원이 이루는 이면각 a, b, c : 점 A, B, C의 대응호(BC, AC, AB)가 이루는 중심각 ex) b = ∠AoC 구면초과 E [rad] = A + B + C - π ⇒ 입체각 steradian[S/R2] 구면삼각형 면적 S = E * .. 더보기
이심률과 기하학 이심률은 태양계의 행성들의 공전궤도를 구하려할때 필연적으로 만나게되는 주제이다. 이번에는 이심률과 기하학에 대하여 공부한 내용을 정리하고 공유해 보려한다! 이론적인 배경은 간략히... 실제로 이심률과 기하학의 관계가 실제로 그러한 지 컴퓨팅의 힘을 빌려 의구심을 해소해 보려한다. 만약 P(x, y), F(0, 0), H(d, y) 일 때 이심률 e = PF / PH 하면, => x2 + y2 = e2 * (d - x)2 위 식에 r = √(x2 + y2) , x = r * cosθ 를 대입하여 정리하면, => r = (d * e)/(1 + e * cosθ) 1. 두 초점 F(-c,0), F'(-c,0)으로 부터의 거리의 합이 2a인 타원의 방정식 √[(x-c)2+y2] + √[(x+c)2+y2] = 2a.. 더보기