Moving Sine-Wave
Code from manimlib.imports import * class MovingWave(Scene): def construct(self): self.draw_axis() self.draw_sine_wave() def draw_axis(self): x_axis = Line(np.array([-4,0,0]), np.array([4,0,0])) y_axis = Line(np.array([-4,2,0]), np.array([-4,-2,0])) self.add(x_axis, y_axis) self.x_min = -4 self.x_max = 4 def draw_sine_wave(self): sine_wave = self.get_sine_wave() vt = ValueTracker(0) def update_w..
Sine/Cosine curve by rotating the dot around the circle
Code from manimlib.imports import * class SineCosine_Curve(Scene): def construct(self): self.show_axis() self.show_circle() self.move_dot_and_draw_curve() self.wait() def show_axis(self): x_start = np.array([-6,2,0]) x_end = np.array([3,2,0]) y_start = np.array([-4,-3,0]) y_end = np.array([-4,3.5,0]) x_axis = Line(x_start, x_end) y_axis = Line(y_start, y_end) self.add(x_axis, y_axis) self.add_xy..
Sine-curve by rotating dot around the circle
Code from manimlib.imports import * class Sine_Curve(Scene): def construct(self): self.show_axis() self.show_circle() self.move_dot_and_draw_curve() self.wait() def show_axis(self): x_start = np.array([-6,0,0]) x_end = np.array([6,0,0]) y_start = np.array([-4,-2,0]) y_end = np.array([-4,2,0]) x_axis = Line(x_start, x_end) y_axis = Line(y_start, y_end) self.add(x_axis, y_axis) self.add_x_labels()..
흐르는 물결같은, 흐르는 사인 곡선 만들기
움직이는 사인 곡선을 만들어보자. 마치 파형이 이동하는 듯한. 기본 구상 $\sin ( \theta + \alpha )$는 $\sin \theta$인 곡선이 $\alpha$만큼 왼쪽으로 쉬프트 된 곡선이다. 위 그림은 $\sin \theta$를 $\frac {\pi} {4}$ 만큼씩 왼쪽으로 이동한 것으로, 시간 단위별로 이렇게 이동시키면, 마치 사인파가 왼쪽으로 흐르는 듯한 효과를 낼 수 있을 것이다. 코딩 축 그리기 x축과 y축을 그린다. def draw_axis(self): x_axis = Line(np.array([-4,0,0]), np.array([4,0,0])) y_axis = Line(np.array([-4,2,0]), np.array([-4,-2,0])) self.add(x_axis, y_..
원 위의 점이 돌면서 사인/코사인 곡선 그리기
사인(Sine)과 코사인(Cosine) 그래프가 왜 그렇게 그려지는지 설명할 때 많이 쓰이는 방법은 다음과 같다. 반지름이 1인 원을 그리고, 원의 중심에서 그 원둘레의 임의의 점까지의 직선을 그린 후, x축과 그 직선 간의 사잇각을 $ \theta $라 하자 이 $ \theta $에 대해 $\sin \theta = 세로 $가 되고, $ \cos \theta = 가로$가 된다. 따라서, 그 어떤 점을 원둘레로 이동시키면, $ \theta $가 커지고, 이에 따라 $\sin \theta $의 값이 변하게 되는데, 이를 원 오른편에 가로축을 그리고, 그 위를 $\theta$의 변화값으로 두고, 세로축에 '세로 길이'를 표시하면, 이게 $ \sin \theta $ 값이 된다. 즉, 사인(Sine) 그래프가 된..
01. 푸리에 변환이란
통신 이론, 디지털 신호, 음성처리 , 영상처리 등에서 항상 나오는 이론이 푸리에 변환이고, 가장 어려워하는 것이고, 내용을 이해하려고 많은 노력을 기울이면서도 정작 잘 파악이 안 되고, 다 알았다고 생각했는데 사실은 아니고 하는 게 푸리에 변환이다. 필자도 푸리에 변환에 대해서 여러 해 동안 이리 보고 저리보고, 프로그램도 짜 보고 응용 거리를 생각도 해보고 하고 있는데, 들여다보면 볼수록 새로운 것이 보이고, 항상 뭔가를 새롭게 떠올리게 하는 것을 보면, 참으로 대단한 이론이라는 생각을 안 할 수 없다. 푸리에 변환에 대해서는 대학교에서 '통신 이론', '디지털 신호처리' 등의 이름으로 강좌가 개설되어 설명하고 있고, 수많은 책과 블로그, 유튜브에서 내용을 설명하고 있다. 그 와중에 또다시 비슷한 내..