본문 바로가기

전체 글118

우주선 자세제어 (Children of a Dead Earth 번역글) 수십 킬로톤의 우주선을 회전시키는 것은 아주 어려운 일이다. 땅이나 바다, 공중에서는 다른 것들을 밀어내면서 회전할 수 있다. 그러나 우주에서는 그런 것들이 불가능하다. 회전은 로켓 엔진을 사용하거나 각운동량 보존 법칙을 이용하는 방법밖에 없다(내부에 각운동량을 저장). 그러나 우주선 내부에 각운동량을 저장하는 방법은 마찰력 등의 이유로 회전 에너지가 사라지기에 주된 회전 방식으로 사용하기에는 부족하다. 이런 방식들의 목적은 우주선을 싸고 간단하게 우주 전투에 사용할 수 있을 정도의 속도로 움직이는 것이다. 첫 번째 방법은 우주선의 중앙에서 추진기를 켜서 토크를 만드는 것이다. 회전이 목적이지 회전을 가속시키는 게 목적이 아니가 때문에 두 번째 추진기가 다시 반대로 추진기를 켜야 한다. 추진기가 우주선의.. 2021. 2. 4.
스페이스 X 스타십 SN9 발사 실험 착륙에는 저번과 비슷한 이유(헤더 탱크 압력 부족)로 실패한 듯 하다. SN8하고 SN9는 같은 구조니까 그럴 수밖에 없지만 2021. 2. 3.
로켓 연료 (Children of a Dead Earth 번역글) 이전 글에서 말했듯이 근미래의 우주 추진 수단은 화학 연료나 열핵로켓 둘 중 하나이다. 화학 로켓은 5km/s 정도의 배출속력을 가질 수 있고 NTR은 그 두 배 정도의 배출속력을 가질 수 있다. 그러나 NTR은 화학 로켓보다 낮은 추력을 가진다. 이 게임에서 나오는 NTR들은 원자로가 버틸 수 있는 온도의 한계로 인해 내부 온도가 대략 3000K 정도이다. 화학 로켓은 그보다 높은 연소 온도를 가질 수 있지만, 화학 물질의 양적 관계와 종류에 의존한다. 가장 유명한 화학 로켓은 액체산소-액체수소 로켓이며 대략 3000K의 연소실 온도를 갖는다. 우주왕복선의 메인 엔진이 이 연료를 사용한다(Space Shuttle Main Engine, RS-25). 그리고 이제부터 화학 로켓의 예시로 이것을 사용하겠다.. 2021. 2. 1.
로켓 엔진 (Children of a Dead Earth 번역글) 작용-반작용 엔진은 우주 전쟁에서 아주 중요하다. 연료를 쓰지 않는 솔라 세일이나 레이저 세일, 전자기 투석기(Skyhook)는 각각의 한계(특히 추력 문제)로 인해 다뤄지지 않는다. 추력은 이제 곧 보겠지만, 우주여행에서 가장 중요한 요소 중 하나이다. 다른 추진기들도 많지만, 이 게임에서 가장 중요하게 다루는 엔진은 고체 코어 열핵로켓이다. 소설에 나올법한 다른 미래적이고 실험적인 기술들은 그 기술들이 고려하지 않은 한계(기계적, 열적 한계들)들로 인해 구현하지 않았다. 또한, 그러한 기술들이 실제로 검증되지 않았기 때문이기도 하다. 그러면 열핵 로켓이 왜 쓰이는가? 화학 로켓보다 높은 비추력(배출속력 4~9km/s)을 갖기 때문이다. 물론 비추력이 더 좋은 엔진들(레이저 추진, 핵분열 세일 등등)이.. 2021. 1. 30.
푸리에 해석 테일러 급수를 아는 사람들은 알겠지만, 어떤 임의의 함수는 멱급수 형태로 전개할 수 있다. 그럼 반대로 생각해보자 어떤 임의의 주기함수는 사인함수의 합으로 이루어질 수 있는가? 어떤 함수 $f(x)$를 $\frac{1}{2}a_0 + a_1\cos x+a_2 \cos 2x + a_3 \cos 3x ... + b_1\sin x+b_2 \sin 2x + b_3 \sin 3x ...$ 이렇게 주기함수의 합으로 나타낼 수 있다고 가정해보자 이런 식을 구하기 위해서는 한 주기에 대한 삼각함수의 평균값에 대해 알아야 한다. $\sin mx \cos nx$의 평균값은 $\frac{1}{2 \pi} \int_{-\pi}^{\pi} \sin mx \cos nx dx = 0$ $\sin mx \sin nx$의 평균값은 $.. 2021. 1. 29.
누리호 1단 엔진 클러스터링 시험 www.youtube.com/watch?v=FqXaUcXwtHk 예산 좀 팍팍 주자 제발 이번 테스트는 엔진을 묶었을 때도 정상적으로 로켓이 작동하는지 알아보는 테스트이다. 발사 시 4개의 엔진 중 하나라도 고장나면 공중제비 돌다가 폭발할 수 있기 때문에 이런 테스트는 꼭 필요하다. 2021. 1. 28.
고속 푸리에 변환 이산 푸리에 변환 이산 푸리에 변환의 C++ 코드이다. #define M_PI 3.14159265358979323846 void DFT(const std::vector &input, std::vector > &output) { int N = input.size(); std::complex img(0.0, 1.0); for (int i = 0; i 1) { n = k; k >>= 1; phiT = phiT * phiT; T = 1.0L; for (int i = 0; i < k; ++i) { for (int a = i; a < N; a += n) { int b = a + k; std::complex t = x.at(a) - x.at(b); x.at(a) += x.at(b); x.at(b) = t * T; }.. 2021. 1. 28.
이산 푸리에 변환 푸리에 해석을 모른다면 슬쩍 보고 오자 푸리에 해석 테일러 급수를 아는 사람들은 알겠지만, 어떤 임의의 함수는 멱급수 형태로 전개할 수 있다. 그럼 반대로 생각해보자 어떤 임의의 주기함수는 사인함수의 합으로 이루어질 수 있는가? 어떤 함수 ellipsoid.tistory.com 이산 푸리에 변환의 C++ 코드이다. #define M_PI 3.14159265358979323846 void DFT(const std::vector &input, std::vector &output) { int N = input.size(); std::complex img(0.0, 1.0); for (int i = 0; i < N; ++i) { std::complex tmp(0.0, 0.0); for (int j = 0; j <.. 2021. 1. 28.
우주선의 모양 -3 (Children of a Dead earth 번역글) 이번에는 우주선의 라디에이터에 대해 살펴보겠다. 라디에이터는 우주선 내부의 장비들을 식히기 위해 필요하다. 핵발전기는 엄청난 양의 열을 내뿜고 다른 것들도 아주 많은 열을 내뿜는다. 현실의 핵발전기들은 바다에 열을 배출하면 되지만, 비행기나 지상 장비들은 어디에 열을 배출해야 하는가? 우주에도 딱히 해결책이 없다. 우주에는 아무것도 없기 때문에 열을 다른 곳으로 전달할 수 없다. 따라서 복사를 통해 방출해야 한다. 모든 물체는 흑체복사를 통해 열을 방출한다. 그리고 방출하는 열의 양은 온도에 달려있다. 그래서 라디에이터가 있는 것이다 ISS에는 이미 달려 있다. 라디에이터는 관이 달려있는 얇은 판이다. 한쪽으로 뜨거운 액체가 들어가고 한쪽으로 찬 액체가 나온다. 이런 식으로 라디에이터는 온도를 내려준다... 2021. 1. 28.