728x90

매달린 $2~\text{kg}$ 물체의 가속도는? 도르래 질량과 모든 마찰은 무시한다.

1. $\frac{1}{3}g$

2. $\frac{2}{5}g$

3. $\frac{3}{7}g$

Posted by helloktk

댓글을 달아 주세요

중력 새총

Physics 2022. 1. 24. 11:45
728x90

먼 곳에서 $v$의 속력으로  달에 접근하는 우주선이 달(속력: $U$)의 중력에 의해서 그림과 같은 궤도를 그리면서 움직인다(궤도는 이심률이 매우 큰 타원으로 간주한다). 다시 우주선이 달에서 충분히 멀어졌을 때 속력은 얼마쯤 될까? 단, 달의 질량은 우주선에 비해 매우 크다고 생각할 수 있다.

1. $\approx v$

2. $\approx v+U$

3. $\approx v+2U$

 

우주선의 속력이 증가했다면 누가 에너지를 제공한 것인가?

Posted by helloktk

댓글을 달아 주세요

728x90

마찰이 없는 레일 위에 설치된 대포에서 포탄을 발사한다. 포신이 수평에서 30도 윗방향을 향할 때 포탄의 날아가는 실제 각은?(지상에서 보는 기준)

1. 30도

2. 대포가 밀리므로 30도 보다 작다.

3. 대포가 밀리므로 30도 보다 크다.

 

Posted by helloktk

댓글을 달아 주세요

728x90

모래가 섞인 얼음을 물이 담긴 컵에 넣었더니 바닥에 가라 앉았다. 얼음이 다 녹으면 수면의 높이는 어떻게 될까?

1. 올라간다.

2. 변함없다.

3. 내려간다.

4. 모래의 양에 따라 다르다.

 

참고: https://kipl.tistory.com/120

'Physics' 카테고리의 다른 글

중력 새총  (0) 11:45:40
포탄이 날아가는 각도는?  (0) 07:52:01
모래가 섞인 얼음이 녹을 때 수면의 높이는?  (0) 2022.01.23
개는 얼마나 가속할 수 있을까?  (0) 2022.01.21
공은 얼마나 높이 올라갈까?  (0) 2022.01.19
등시진자  (0) 2022.01.14
Posted by helloktk

댓글을 달아 주세요

728x90

동물이 달릴 때 다리와 바닥 사이의 마찰력으로 가속을 하거나 감속할 수 있다. 개가 얼마나 가속/감속을 할 수 있는가는 사냥개로써의 특성에 중요한 요소 중 하나이다. 그럼 어떤 신체적인 요건이 이를 결정하는 알아보기 위해 우선 개를 그림과 같이 간단히 강체로 근사를 하여 가능한 가속도를 구해보자.

개의 가속도가 $a_x$일 때, 뉴턴의 운동 방정식을 세우면

$$ \sum F_x = f_f + f_h = m a_x ,$$

$$ \sum F_y = N_f + N_h -m g = 0$$

그리고 넘어지지 않고 안정적으로 가속하기 위해서는 회전하지(넘어지지) 않아야 한다. 질량중심에 대한 회전운동방정식을 적으면

$$ \sum \tau = N_f L_f - N_h L_h + (f_f + f_h) L_\text{leg} = 0$$

가속하는 동안 개의 발이 땅에 접촉을 하기 있어야 하므로 앞 뒤 다리에 걸리는 수직항력은 $N_f \ge  0$, $N_h \ge 0$이어야 한다. 위 운동방정식에서 앞 다리와 뒷다리의 수직항력이 각각

$$ N_f = \frac{m L_\text{leg}}{L_f + L_h} \Big( g \frac{L_h}{L_\text{leg}} - a_x \Big),$$

$$ N_h = \frac{m L_\text{leg}}{L_f + L_h} \Big( g \frac{L_f}{L_\text{leg}} + a_x \Big)$$

이다. 가속하는 동안에는 항상 $N_h>0$이므로 $N_f \ge 0$ 조건에서 가능한 가속도는 

$$ a_x \le  g\frac{L_h}{L_\text{leg}}$$

이고, 또 감속($a_x<0$)하는 동안에는 항상 $N_f >0$이므로  $N_h\ge 0$인 조건에서 가능한 가속도는

$$ |a_x| \le  g\frac{L_f}{L_\text{leg}}$$

을 만족해야 한다. 즉, 가속/감속을 잘하는 사냥개의 조건은 허리가 길고 다리가 짧아야 한다.

참고: https://kipl.tistory.com/265

 

사람은 얼마나 빨리 걸을 수 있을까?

사람이 걷는 동작은 복잡하지만 몇 가지 가정을 하면 단순한 강체의 운동으로 근사를 할 수 있다. 우선 사람이 걷는 동안 항상 한 발은 땅을 딛고 있다. 그리고 땅을 딛고 있는 발을 기준으로 몸

kipl.tistory.com

 

Posted by helloktk

댓글을 달아 주세요

728x90

주어진 점집합을 원으로 피팅하기 위해 이차식

$$A(x^2 + y^2) + Bx + Cy +D =0$$

을 이용하자. 원의 경우는 $A=0$인 경우는 직선을 나타내고, $A\ne0$인 경우가 원을 표현한다. 물론 $A=1$로 설정을 할 수 있으나 이 경우는 주어진 데이터가 원의 일부 부분만 나타내는 경우 문제가 생긴다. 원은 중심과 반지름을 알면 결정되므로 3개의 변수가 필요한데 위의 이차 다항식은 4개의 변수를 가진다. 원을 제대로 표현하기 위해서는 제한 조건이 들어오는데 

$$ \Big(x + \frac{B}{2A} \Big)^2 + \Big(y + \frac{C}{2A} \Big)^2 = \frac{B^2 +C^2 -4A  D}{4A^2}$$

으로 쓸 수 있으므로 좌변이 양수이므로 

$$ B^2+C^2 - 4A  D>0$$이어야 한다. 따라서 $$ B^2 + C^2 - 4A  D=1$$인 제한 조건을 둘 수 있다.

주어진 각 점들이 정확히 추정하는 원 상에 있지 않으므로 이차식의 좌변의 값이 반드시 0이 되지는 않는다. 잘 피팅하기 위해서는 제한조건을 만족하면 각 점들에서 차이를 최소로 만드는 파라미터를 찾으면 된다:

$$ \epsilon(A,B, C, D)= \sum | A(x_i ^2 + y_i^2) + Bx_i + Cy_i +D |^2 + \lambda (B^2 +C^2 - 4A D-1) \longrightarrow \text{min}$$

여기서 $\lambda$는 Lagrange multiplier이다. 식을 행렬로 표현하기 위해

$$z_i= x_i^2 + y_i^2 , ~M_{zz}= \frac{1}{n} \sum z_i^2 , ~M_{xx} = \frac{1}{n} \sum x_i^2, ~M_{yy}=\frac{1}{n}\sum y_i^2,  $$

$$M_{zx}= \frac{1}{n} \sum z_i x_i  , ~M_{zy} = \frac{1}{n} \sum z_i y_i , ~M_{xy}=\frac{1}{n}\sum x_i y_i, $$

$$M_{z}= M_{xx}+M_{yy} , ~M_{x} = \frac{1}{n} \sum x_i, ~M_{y}=\frac{1}{n}\sum y_i,  $$

$${\tt x}= \left(\begin{array}{c} A \\ B \\ C \\D\end{array}\right) , ~ \tt M = \left( \begin{array}{cccc} M_{zz}& M_{zx}& M_{zy} & M_z \\ M_{zx} & M_{xx}& M_{xy} & M_{x}\\ M_{zy} & M_{xy} & M_{yy} &M_y \\M_z &M_x &M_y& 1 \end{array} \right), ~\tt  N=\left( \begin{array}{cccc} 0& 0& 0& -2 \\ 0& 1& 0 & 0\\ 0& 0& 1& 0\\ -2&0&0& 0 \end{array} \right)$$

로 놓으면 $$ n \epsilon= {\tt x}^T . {\tt M}  .{\tt x} - \lambda ( {\tt x}^T. {\tt N}. {\tt x} - 1)$$

로 표현된다. 질량중심 좌표계에서 계산을 하면 $M_x= M_y =0$이므로 행렬이 더 간단해진다.

$\epsilon$을 $\tt x^T$에 대해서 미분하면

$$ \tt M.x = \lambda \tt N.x$$

인 lagrange multiplier가 고윳값이 되는 일반화된 고윳값 방정식을 얻는다. 이 고유값 식이 해를 가지려면

$$\text{det}( \tt M -\lambda \tt N)=0$$

이어야 한다. 이 특성 방정식은 4차 다항식이므로 closed form 형태의 해를 쓸 수 있으나 실질적으로 수치해석적으로 구하는 것이 더 편하다(Newton-Raphson). $\text{min}(\epsilon)$은 제한조건 때문에

$$ n\epsilon = \lambda \tt x^T . N. x = \lambda > 0$$ 

이므로 $0$보다 큰 최소 고윳값이 원하는 해이다. ($\lambda = 0$은 $\text{det}(\tt M)=0$, 즉, $\tt M$이 singular 한 경우)

고유벡터는 크기가 고정이 되지 않았으므로 원인 경우만 선택한다면 고유벡터의 첫번째 성분 $A=1$로 설정해도 된다. 최소의 고윳값에 대해서 고유 방정식을 풀면 고유벡터의 성분은

$$ C_{xy} \equiv  M_{xx}M_{yy}- M_{xy}^2 , ~~\Delta \equiv \lambda^2 - M_z   \lambda +C_{xy}$$

$$B = \frac{M_{zx}(M_{yy} - \lambda)-M_{zy}M_{xy}}{ \Delta }$$

$$C = \frac{M_{zy}(M_{xx} - \lambda)-M_{zx}M_{xy}}{ \Delta }$$

$$D=-M_z -2\lambda$$로 주어진다. 따라서 원의 중심은

$$ c_x = -\frac{B}{2A}= \frac{    M_{zx}(M_{yy} -\lambda) - M_{zy}M_{xy}}{2  \Delta}, \quad c_y= -\frac{C}{2A}= \frac{ M_{zy}(M_{xx} -\lambda )- M_{zx}M_{xy}}{2  \Delta} $$

원의 반지름은 

$$ r =\sqrt{ (B/2A)^2+(C/2A)^2 -D/A} = \sqrt{ c_x^2 + c_y^2 +M_{z} +2\lambda}$$ 

로 주어진다.

Ref: V. Pratt, Direct least-squares fitting of algebraic surfaces, Computer Graphics 21, 1987, 145–152.

int circle_fit(std::vector<CPoint>& data, double& centerx, double& centery, double& radius) {
    const int maxIter = 99;
    double mx = 0, my = 0;
    for (int i = 0; i < data.size(); i++) {
        mx += data[i].x; my += data[i].y;
    }
    // center of mass;
    mx /= data.size(); my /= data.size();

    // moment calculation;
    double Mxy, Mxx, Myy, Mzx, Mzy, Mzz;
    Mxx = Myy = Mxy = Mzx = Mzy = Mzz = 0.;
    for (int i = 0; i < data.size(); i++) {
        double xi = data[i].x - mx;   //  center of mass coordinate
        double yi = data[i].y - my;   //  center of mass coordinate
        double zi = xi * xi + yi * yi;
        Mxy += xi * yi; Mxx += xi * xi;
        Myy += yi * yi; Mzx += xi * zi;
        Mzy += yi * zi; Mzz += zi * zi;
    }
    Mxx /= data.size(); Myy /= data.size();
    Mxy /= data.size(); Mzx /= data.size();
    Mzy /= data.size(); Mzz /= data.size();
    double Mz = Mxx + Myy;
    double Cxy = Mxx * Myy - Mxy * Mxy;
    double Vz = Mzz - Mz * Mz;
    // coefficients of characteristic polynomial;
    double C2 = 4 * Cxy - 3 * Mz * Mz - Mzz; 
    double C1 = Vz * Mz + 4 * Cxy * Mz - Mzx * Mzx - Mzy * Mzy;
    double C0 = Mzx * (Mzx * Myy - Mzy * Mxy) + Mzy * (Mzy * Mxx - Mzx * Mxy) - Vz * Cxy;
    // Newton's method starting at lambda = 0
    double lambda = 0;
    double y = C0;  // det(lambda = 0)
    for (int iter = 0; iter < maxIter; iter++) {
        double Dy = C1 + lambda * (2. * C2 + 16.*lambda * lambda);
        double lambdaNew = lambda - y / Dy;
        if ((lambdaNew == lambda)) break;
        double ynew = C0 + lambdaNew * (C1 + lambdaNew * (C2 + 4 * lambdaNew * lambdaNew));
        if (fabs(ynew) >= fabs(y))  break;
        lambda = lambdaNew;
        y = ynew;
    }
    double DEL = lambda * lambda - lambda * Mz + Cxy;
    double cx = (Mzx * (Myy - lambda) - Mzy * Mxy) / DEL / 2;
    double cy = (Mzy * (Mxx - lambda) - Mzx * Mxy) / DEL / 2;
    centerx = cx + mx;
    centery = cy + my;
    radius = sqrt(cx * cx + cy * cy + Mz + 2 * lambda);
    return 1;
}

'Image Recognition > Fundamental' 카테고리의 다른 글

Circle Fitting: Pratt  (0) 2022.01.20
Best-fit Ellipse 2  (0) 2022.01.18
Best-fit Ellipse  (0) 2022.01.16
Image Moment  (0) 2021.12.04
Orientation 추정  (0) 2021.11.30
Poisson Image Editing  (0) 2021.08.03
Posted by helloktk

댓글을 달아 주세요

728x90

질량(선밀도: $\lambda$)이 있는 줄이 매달린 공($M$)을 위로 $v_0$ 쏘아 올린다. 최고점의 높이는 공의 질량에 (줄의 질량이 없는 경우는 최고점은 공의 질량에 무관하다)

1. 무관하다.

2. 의존한다.

더보기

떠있는 공+줄 부분에 작용하는 힘:  공의 무게와 줄의 무게, 그리고 바닥의 정지해 있는 줄이 뜨기 위해서는 impulsive force가 필요하다. 만약 질량 $dm$이 속도 $0\rightarrow v$로 변하면 운동량 변화가 $dp = dm(v-0)$이므로 필요한 충격력은 $f = v \frac{dm}{dt}$(위쪽)이다. 따라서 공중에 떠 있는 부분이 받는 반작용(장력) 충격력은 $-f $이다. 

공의 높이가 $y$일 때 공중에 떠 있는 부분에 뉴턴의 운동방정식을 쓰면(위쪽:+)

$$ (M+ \lambda y) \frac{dv}{dt}=  \sum F = -(M + \lambda y) g -f $$ 

운동량이 $P= (M+ \lambda y)v$이므로 운동 방정식은 다시 

$$ \frac{dP}{dt} = -(M+ \lambda y ) g$$

로 쓸 수 있다. (Note: 이는 이미 공중에 있는 부분과 추가되는 $dm$ 부분을 하나의 계로 보므로 충격력은 내력이 되어서 합력에 나타나지 않는다)

 

$P$를 높이 $y$의 함수로 볼 수 있으므로 $\frac{dP}{dt} = \frac{dP}{dy}\frac{dy}{dt} =   \frac{dP}{dy} v = \frac{P}{M + \lambda y}\frac{ dP}{dy}$

$$ P \frac{dP}{dy} = -(M+ \lambda y)^2 g$$

적분을 해서,

$$\frac{1}{2}( P^2 - M^2 v_0^2 ) = \frac{g}{3\lambda} (M^3 - (M+\lambda y)^3)$$ 

따라서 최고점의 높이는 ($P=0$)

$$  y_\text{max} = \frac{M}{\lambda} \left( \sqrt[3]{ 1 + \frac{3\lambda v_0^2}{2Mg}}-1\right)$$

따라서 초기속도뿐만 아니라 공의 질량에도 의존하게 된다. 줄의 질량을 무시할 수 있는 경우인 $\lambda\rightarrow 0$이면

$$y_\text{max} = \frac{M}{\lambda}\left(   1 + \frac{\lambda v_0^2}{2Mg} +... - 1\right) \rightarrow \frac{v_0^2}{2g}$$ 이어서 잘 알고 있는 결과로 수렴한다.

 

그리고 impulsive force 때문에 역학적 에너지는 보존이 되지 않음을 체크할 수 있다.

참고: https://kipl.tistory.com/119

 

떨어지는 쇠사슬이 바닥에 주는 힘

사슬(길이=$L$, 질량=$M$)이 수직으로 바닥으로 떨어질 때 바닥이 받는 힘은? 우선 떨어지는 부분은 사슬고리 사이의 마찰 등을 무시하면 오직 중력에 의해서 자유낙하한다. 사슬이 바닥에 닿을 때

kipl.tistory.com

 

'Physics' 카테고리의 다른 글

모래가 섞인 얼음이 녹을 때 수면의 높이는?  (0) 2022.01.23
개는 얼마나 가속할 수 있을까?  (0) 2022.01.21
공은 얼마나 높이 올라갈까?  (0) 2022.01.19
등시진자  (0) 2022.01.14
체인이 떨어지는 가속도는?  (0) 2022.01.12
더 멀리 날아갈까?  (0) 2022.01.12
Posted by helloktk

댓글을 달아 주세요

728x90

표준형 타원

$$ \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1$$

의 두 주축에 대한 central moment (moment of inertia)는 각각

$$ \mu_{20} = \frac{\pi}{4} a^3 b, \quad \mu_{02} = \frac{\pi}{4} ab^3$$ 

으로 주어짐은 쉽게 계산할 수 있다. 그런데 타원의 면적인 0차 central moment가 $\mu_{00}= \pi ab$이므로 normalized central moment (위치의 분산을 의미한다)는 각각

$$\tilde\mu_{20} = \frac{\mu_{20}}{\mu_{00}} = \frac{1}{4}a^2, \quad  \tilde\mu_{02} = \frac{\mu_{02}}{\mu_{00}} = \frac{1}{4}b^2$$

따라서 장축과 단축의 길이는 주축에 대한 2차 normalized central moment을 구하면 얻을 수 있다.

기울어진 타원의 경우는 $\tilde\mu_{pq}$가 픽셀의 분포를 알려주므로 이를 이용한 covariance 행렬의 고유값을 구하면 장축과 단축을 알 수 있고, 기울어진 정도도 알 수 있다. 공변행렬

$$ \Sigma = \left( \begin{array}{cc} \tilde\mu_{20} & \tilde\mu_{11} \\ \tilde\mu_{11} & \tilde\mu_{02} \end{array} \right)$$

의 두 고윳값은

$$ \lambda_1 = \frac{1}{2}\left( \tilde\mu_{20}+ \tilde\mu_{02} + \sqrt{ (\tilde\mu_{20} - \tilde\mu_{02})^2 + 4 \tilde\mu_{11}^2} \right),$$

$$ \lambda_2 = \frac{1}{2}\left( \tilde\mu_{20}+ \tilde\mu_{02} - \sqrt{ (\tilde\mu_{20} - \tilde\mu_{02})^2 + 4 \tilde\mu_{11}^2} \right).$$

따라서 기울어진 타원의 장축과 단축의 길이, 그리고 회전각은

$$ a = 2\sqrt{ \lambda_1}, \quad b = 2\sqrt{ \lambda_2}, \quad \tan(2\theta)=\frac{2 \tilde\mu_{11}}{ \tilde\mu_{20}-\tilde\mu_{02}   }$$

로 주어지므로 회전된 좌표계 $(u, v)$에서 타원의 방정식은

$$ \frac{ u^2 }{4 \lambda_1} + \frac{v^2 }{4\lambda_2} = 1$$

 

로 쓰인다. 

다시 원 좌표계 $(x, y)$로 돌아가기 위해서 (물론 질량중심이 원점인 좌표계이다)

$$ u =  \cos \theta x+  \sin \theta y, \quad v = -\sin \theta x + \cos \theta y$$

를 대입하면 타원을 2차식 형태

$$ A x^2 + 2B xy + C y^2 = 1$$

로 쓸 수 있는데, 그 계수는

$$ A= \frac{1}{8}\left( \frac{1}{\lambda_1} + \frac{1}{\lambda_2} +\Big( \frac{1}{\lambda_1} - \frac{1}{\lambda_2} \Big) \cos (2\theta) \right)=\frac{\tilde\mu_{02}}{ 4(\tilde\mu_{20}\tilde\mu_{02}-\tilde\mu_{11}^2 )} $$

$$ C= \frac{1}{8}\left( \frac{1}{\lambda_1} + \frac{1}{\lambda_2} -\Big( \frac{1}{\lambda_1} - \frac{1}{\lambda_2} \Big) \cos (2\theta) \right)=\frac{\tilde\mu_{20}}{ 4(\tilde\mu_{20}\tilde\mu_{02}-\tilde\mu_{11}^2 )} $$

$$ B= \frac{1}{8}\left( \frac{1}{\lambda_1} - \frac{1}{\lambda_2} \right)\sin (2\theta)=\frac{-\tilde\mu_{11}}{ 4(\tilde\mu_{20}\tilde\mu_{02}-\tilde\mu_{11}^2 )} $$

로 주어진다. 주어진 object의 normalized central moment를 구하면 타원 fitting에 대한 정보를 구할 수 있음을 보였다.

 

 

'Image Recognition > Fundamental' 카테고리의 다른 글

Circle Fitting: Pratt  (0) 2022.01.20
Best-fit Ellipse 2  (0) 2022.01.18
Best-fit Ellipse  (0) 2022.01.16
Image Moment  (0) 2021.12.04
Orientation 추정  (0) 2021.11.30
Poisson Image Editing  (0) 2021.08.03
Posted by helloktk

댓글을 달아 주세요

728x90

영상에 담고 있는 object을 간단히 근사를 할 때 타원으로 많이 기술한다(e.g: head tracking). 타원으로 기술하면 장축의 방향으로 object의 기울어진 방향을, 장축과 단축의 길이로 object의 크기를 가늠할 수 있다. object의 픽셀 분포에서 형상에 대한 정보는 2차 moment를 계산해서 얻을 수 있다. 이는 타원이 2차 곡선이기 때문에 가능하다. 그리고 질량중심을 원점으로 잡으면 2차 central moment를 계산해야 한다. 그런데 통계적인 의미를 부여하기 위해서는 central moment를 object의 픽셀로 나눈 normalized central moment로 구성한 covariance matrix를 사용하면 된다.

$$\Sigma = \left(\begin{array}{cc} \tilde\mu_{20} &  \tilde\mu_{11} \\ \tilde\mu_{11} & \tilde\mu_{02} \end{array} \right), \quad\quad\tilde\mu_{pq} \equiv \frac{\mu_{pq}}{\mu_{00}},  \quad (p+q=2)$$ 

(Note: $\mu_{00}$로 정규화를 하지 않더라도 문제는 없다).

$\Sigma$는 영상에서 object pixel의 $x$ 뱡향 분산($\mu_{20}$: $x$축에 대한 회전관성), $y$ 방향 분산($\mu_{02}$: $y$축에 대한 회전관성), $x$-$y$의 correlation을 나타낸다. $\Sigma$가 대칭행렬이므로 두 개의 음이 아닌 고윳값을 가진다. 

\begin{gather} \lambda_1 = \frac{\tilde\mu_{20} + \tilde\mu_{02}}{2} + \frac{ \sqrt{(\tilde\mu_{20} - \tilde\mu_{02})^2 + 4\tilde\mu_{11}^2 } }{2}, \\  \lambda_2 = \frac{\tilde\mu_{20} + \tilde\mu_{02}}{2} - \frac{ \sqrt{(\tilde\mu_{20} - \tilde\mu_{02})^2 + 4\tilde\mu_{11}^2 } }{2}\end{gather}

큰 고유값에 해당하는 고유벡터의 방향이 타원의 장축 방향에 해당하고 (픽셀 변동이 심하므로) , 작은 고윳값의 고유벡터 방향은 단축 방향이다. 그리고 고윳값은 각각 장축과 단축의 길이의 제곱에 비례한다($\tilde\mu_{pq}$는 단위가 거리 제곱이다). object의 orientation인 타원의 장축 방향은 

$$ \theta = \frac{1}{2} \tan^{-1} \Big( \frac{   2\tilde\mu_{11} }{\tilde\mu_{20} - \tilde\mu_{02}}\Big)= \frac{1}{2} \tan^{-1} \Big( \frac{   2\mu_{11} }{\mu_{20} - \mu_{02}}\Big) $$

로 계산된다. (https://kipl.tistory.com/58)

 

타원의 orientation 각도를 구했으므로 두 주축을 나타내는 단위벡터는

$$\text{major axis: }(\cos \theta, \sin \theta), \quad \text{minor axis: }(-\sin\theta, \cos \theta)$$

로 쓸 수 있다. 그리고 이 두 축에 대한 object의 회전관성은 정의에 의해서 다음 식으로 구할 수 있다: $(\bar{x}, \bar{y})=\text{center of mass}$

\begin{align}\text{major axis:} ~I_\text{min} &= \sum_{(x, y )\in \text{object}} | - (x-\bar{x})\sin \theta + (y - \bar{y})\cos \theta |^2 \\ &=\frac{\mu_{20}+\mu_{02}}{2} -\frac{\mu_{20} - \mu_{02}}{2} \cos (2\theta)-  \mu_{11} \sin(2\theta)\end{align}

\begin{align}\text{minor axis:} ~I_\text{max} &= \sum_{(x, y)\in \text{object}} | (x-\bar{x}) \cos \theta + (y - \bar{y}) \sin \theta|^2 \\&= \frac{\mu_{20}+\mu_{02}}{2}+\frac{\mu_{20}-\mu_{02}}{2}\cos (2\theta)+ \mu_{11}\sin(2\theta)\end{align}

(note: object의 orientation 각은 $I_\text{min}$을 최소화시키는 값이다)

 

표준 타원의 장축 길이가 $a$고 단축 길이가 $b$일 때 ($x^2/a^2 + y^2/b^2 =1$) 2차 central moment(회전관성)는 간단한 계산에 의해서

$$\mu_{20}^\text{(e)} = \frac{\pi}{4} a^3 b, \quad \mu_{02}^\text{(e)} = \frac{\pi}{4} ab^3,\quad \mu_{11}^\text{(e)}= 0$$

으로 구해짐을 알 수 있다.

 

주어진 타원이 object을 잘 피팅하려면 타원의 두 축에 대한 회전관성이 각각 object의 주축에 대한  회전관성과 같은 값을 가져야 할 것이다:

$$ I_\text{min} = \mu_{20}^\text{(e)}, \quad I_\text{max} =\mu_{02}^\text{(e)}$$

이 두 식을 풀면 타원의 장축과 단축의 길이를 구할 수 있다. 

$$a = \Big( \frac{4}{\pi}\Big)^{1/4} \Big( \frac{I_\text{max}^3}{I_\text{min}}\Big)^{1/8}, \quad b = \Big( \frac{4}{\pi}\Big)^{1/4} \Big( \frac{I_\text{min}^3}{I_\text{max}}\Big)^{1/8}$$

 

보통 object을 타원 피팅할 때 윤곽선 정보를 이용하는데, 이 방법은 윤곽선을 추출할 필요가 없어서 편리하다. 단 내부에 빈 곳이 있는 object의 경우 회전관성을 감소시키므로 좋은 결과를 기대할 수 없다. 영상이 다수의 object를 담고 있을 때는 connected component labeling을 한 후 각각의 component에 대해서 fitting을 수행하면 된다.

void getEllipse(CRaster& raster) {
    const double four_pi = 1.0 / atan(1.0);
    CSize sz = raster.GetSize();
    double xsum = 0, ysum = 0;
    double x2sum = 0, y2sum = 0, xysum = 0;
    int count = 0;
    for (int y = 0; y < sz.cy; y++) {
        BYTE *p = (BYTE *)raster.GetLinePtr(y);
        for (int x = 0; x < sz.cx; x++) {
            if (*p++) {
                count++;
                xsum += x;      ysum += y;
                x2sum += x * x; y2sum += y * y; 
                xysum += x * y;
            }
        }
    }
    if (!count) return;
    double xm = xsum / count;
    double ym = ysum / count;
    double m20 = x2sum - xm * xm * count;
    double m02 = y2sum - ym * ym * count;
    double m11 = xysum - xm * ym * count;
    double theta2 = atan2(2 * m11, m20 - m02);
    double ct = cos(theta2), st = sin(theta2);
    double Imin = 0.5 * (m20 + m02) - 0.5 * (m20 - m02) * ct - m11 * st;
    double Imax = 0.5 * (m20 + m02) + 0.5 * (m20 - m02) * ct + m11 * st;
    double major = pow(four_pi, 0.25) * pow(Imax * Imax * Imax / Imin, 0.125);
    double minor = pow(four_pi, 0.25) * pow(Imin * Imin * Imin / Imax, 0.125);
    drawEllipse(raster, mx, my, major, minor, theta2 / 2);
}

'Image Recognition > Fundamental' 카테고리의 다른 글

Circle Fitting: Pratt  (0) 2022.01.20
Best-fit Ellipse 2  (0) 2022.01.18
Best-fit Ellipse  (0) 2022.01.16
Image Moment  (0) 2021.12.04
Orientation 추정  (0) 2021.11.30
Poisson Image Editing  (0) 2021.08.03
Posted by helloktk

댓글을 달아 주세요

등시진자

Physics 2022. 1. 14. 19:25
728x90

단순진자는 원호 위에서 반복운동을 한다. 수직에 대해 벌어진 각이 $\theta$일 때 각에 대한 운동 방정식은

$$ \ddot \theta = - \frac{g}{L} \sin \theta.$$

진폭이 작은 경우 ($|\theta| \ll 1$) 윗 식은 용수철 진자의 운동인 단순조화운동이 되고 주기는 진폭에 무관하게 일정한 값을 가지게 된다:

$$ \ddot \theta \approx - \frac{g}{L} \theta    \quad \Leftrightarrow  \quad \ddot{x} = - \omega^2 x.$$

그러나 단순진자의 진폭이 일정 이상 커져 작은 각 근사에서 벗어나면 주기는 진폭에 따라 달라짐이 잘 알려져 있다.

 

진자가 원호가 아닌 다른 곡선 위를 움직일 때 주기가 진폭에 무관하게 주어질 수 있는지 알아보자. 이 경우는 각보다는 용수철 진자처럼 평형점에서 움직인 거리를 이용해서 운동을 기술하는 것이 더 편리하다. 단순진자의 경우 평형점에서 잰 원호의 거리를 $s$라면 $s=L \theta$로 표현되고 작은각 근사에서 운동 방정식은 
$$ \ddot {s} =-\omega^2  s.$$

이제 진자가 움직이는 곡선에 어떤 제약이 들어오는지 살펴보자. 먼저 움직인 거리에 대한 운동 방정식은 단순조화운동식과 같아야 하므로 위의 형태는 변하지 않아야 한다. 진자가 움직이는 곡선이 $y(x)$로 표현되면 평형점($x=0$) 에서 움직인 거리($x<0$이면 움직인 거리의 음수)는

$$s = \int_0^x \sqrt{ 1+ (dy/dx)^2} dx$$

로 표현된다. $s$에 대한 단순 조화 진동은 위치에너지가 $U(s) = \frac{1}{2} m\omega^2 s^2$인 경우에 해당하는데 진자는 중력의 영향을 받으므로 이 위치에너지는 결국 중력위치에너지 표현되어야 한다: 

$$ \frac{1}{2} m\omega^2 s^2 = mgy.$$

양변을 $x$에 대해 미분한 후 정리하면

$$ \frac{dy}{dx} = \sqrt{ \frac{2\omega^2 y}{  g - 2\omega^2 y}}.$$

이 방정식을 풀기 위해서 새로운 매개변수 $\psi$를 도입하는데, $dy/dx$가 접선의 기울기이므로 $dy/dx=\tan (\psi/2)$로 놓으면(각은 나중을 위해서 2배 한 것임), 

$$   \sin^2(\psi/2) = \frac{2\omega^2 }{g}y  \quad \rightarrow \quad y = \frac{g}{4\omega^2} (1 - \cos\psi).$$

$dx/d\psi  = (dy/d\psi) / (dy/dx)$을 계산해서 적분하면 ($x(\psi=0)=c$)

$$  x= \frac{g}{4\omega^2} (c+\psi + \sin \psi).$$

이제 $\psi \rightarrow \pi +\psi, c=-\pi $로 변수 치환을 하면 진자가 움직여야 하는 곡선이 우리가 잘 알고 있는 cycloid임을 알 수 있다.

$$ x= a ( \psi -\sin \psi ) , ~~~y=a(1 + \cos \psi), ~~~a \equiv \frac{g}{ 4\omega^2}.$$

cycloid 모양을 결정하는 $a$가 정해지면 진자의 각진동수 $\omega=\sqrt{g/4a}$를 알 수 있고 주기는 $$T=\frac{2\pi}{\omega }= 4\pi \sqrt{\frac{a}{g}}$$

로 주어진다. 

공을 싸이클로이드 모양으로 생긴 골짜기에 굴리면 등시운동을 하지만, 진자는 그럼 어떻게 만들어야 할까? 이 문제도 역시 싸이클로이로 해결이 된다.

 

 

'Physics' 카테고리의 다른 글

개는 얼마나 가속할 수 있을까?  (0) 2022.01.21
공은 얼마나 높이 올라갈까?  (0) 2022.01.19
등시진자  (0) 2022.01.14
체인이 떨어지는 가속도는?  (0) 2022.01.12
더 멀리 날아갈까?  (0) 2022.01.12
먼저 바닥에 닿는 다트는?  (0) 2022.01.12
Posted by helloktk

댓글을 달아 주세요

Catenary

Mathematics 2022. 1. 14. 10:18
728x90

체인이나 줄을 느슨한 상태로 양끝을 고정시킬 때 모양은 포물선처럼 보이지만 실제로는 그렇지 않고 현수선(catenary)라고 불리는 곡선이다. 양끝을 고정시킨 줄을 보자.

늘어진 줄에는 자신의 무게를 지탱하기 위해서 장력이 걸린다. 그런데 중력이 수직방향으로 걸리므로 장력은 줄의 위치에 따라 달라져야 한다. 그렇지만 수평방향의 움직임이 없으므로 장력의 수평 성분은 모두 같아야 하는데, 줄의 가장 아래로 처진 부분의 접선방향이 수평이므로 이 지점에서 장력($T_0$)와 같아야 한다. 줄의 선밀도가 $\lambda$이고, 가장 아래 지점을 기준으로 곡선의 길이를 $s$라고 하자. 현수선의 수평 위치를 $x$, 수직 위치를 $y$로 하면 $y$는 $x$의 함수로 생각할 수 있고, 가장 아랫부분(원점으로 잡자)에서 잰 줄의 길이는

$$s = \int_{0}^x \sqrt{1 + (dy/dx)^2} dx$$

로 쓸 수 있다.

그러면 $(x, y)$에서 줄의 장력을 $T$, 접선이 이루는 각도를 $\psi$라면, 힘의 평형 조건은 

\begin{gather} T \cos \psi = T_0 \\ T \sin \psi = \lambda s g \end{gather}

따라서 접선의 기울기는

$$ \frac{dy}{dx} = \tan \psi = \frac{\lambda gs }{T_0} = \frac{s}{a}= \frac{1}{a} \int_0^{x} { \sqrt{ 1+\Big( \frac{dy}{dx}\Big)^2}} dx, \quad a \equiv \frac{T_0}{\lambda g}$$

이 식은 $y(x)$에 대한 미분-적분 방정식 형태이므로 미분 방정식으로 바꾸기 위해서 한번 더 미분을 하면 

$$  \frac{d}{dx}\Big( \frac{d y}{dx} \Big) = \frac{1}{a} \sqrt{1 + \Big(\frac{dy}{dx}\Big)^2 }.$$

한번 적분하면 ($\frac{dy}{dx} (x=0)=0$)

$$ \frac{dy}{dx}  =\sinh (x/a).$$ 

다시 적분하면 

$$ y = a \cosh( x/a) + C$$

을 얻는 데, 원점을 이동해서 현수선의 가장 아랫부분이 ($0,a$)가 되도록 조정하면 $C=0$이 된다. 현수선은 선밀도와 꼭지점에서의 장력 비 $a$로 모양이 결정된다. 이 값은 한 지점에서 꼭짓점까지 수평거리($x$)와 기울기를 측정하면 결정할 수 있다: 특징 1번. 그리고 $|x| \ll a$일 때

$$y=  a\left[ 1 + \frac{1}{2}\Big(\frac{x}{a}\Big)^2 + \frac{1}{24}\Big( \frac{x}{a}\Big)^4+...\right] $$

이므로 꼭짓점 근방에서는 포물선으로 근사가 가능하다.

몇 가지 특징:

1. 접선의 기울기:  $\tan \psi =\frac{dy}{dx}= \sinh(x/a)$. 

2. 곡선의 길이: $s = a \tan\psi = a \sinh( x/a)$.

3. $y^2 = a^2+ s^2 ~~\rightarrow ~~ y = a\cosh(x/a) = a\sec(\psi)$.

4. 장력: $T = \lambda g \sqrt{a^2 + s^2} =\lambda g \cosh (x/a)= \lambda g y$ 

 

5. 현수선의 길이를 매개변수로 선택하면,

$$\frac{dx}{ds} = \frac{1}{ds/dx}= \frac{1}{\sqrt{1 + (dy/dx)^2} }= \frac{a}{\sqrt{a^2 + s^2}}$$

$$ \frac{dy}{ds} = \frac{dy/dx}{ds/dx}=\frac{s}{\sqrt{a^2+s^2}}$$

따라서 $(dx/ds)^2 + (dy/ds)^2 = 1$임을 알 수 있다.

6. $\frac{dx}{d s} = \frac{1}{a}   \cos^2(\psi)\frac{dx}{d\psi} = \cos(\psi) ~~\rightarrow~~ \frac{dx}{d\psi} = a \sec{\psi} $  이므로 $x= a \ln ( \sec(\psi) + \tan(\psi))$

 

'Mathematics' 카테고리의 다른 글

Catenary  (0) 2022.01.14
Integration along a branch cut-013  (0) 2021.12.22
Integration along a branch cut-012  (0) 2021.01.05
Integration along a branch cut-011  (0) 2021.01.04
Integration along a branch cut-010  (0) 2021.01.04
Integration along a branch cut-009  (0) 2021.01.03
Posted by helloktk

댓글을 달아 주세요

728x90

포개져 있는 체인이 한쪽 끝을 책상 아래로 향하게 하면 체인은 점차 풀리면서 내려가는 운동을 한다. 이 운동의 가속도는 얼마일까? 단, 체인은 부드럽게 풀린다고 생각하면 된다.

1. 등가속도이고 $g$보다 크다

2. $g$와 같다

3. 등가속도이고 $g$보다 작다.

 

더보기

일단 체인(선밀도$=\lambda$)이 떨어지면 공중에 떠있는 부분은 같은 속력으로 움직인다.  책상 위에서 떨어지기 시작한 체인은 속도가 0인 상태에서 유한한 값으로 변하므로 impulsive force가 필요하고 체인의 장력이 이 역할을 한다. 체인이 내려가는 속력이 $v$일 때 책상 위의 미소 길이 $dx$가 움직임을 시작하는 경우 운동량의 변화량은 $dp= dm (v - 0) = \lambda dx v$이므로 필요한 충격량은 $f = dp/dt = \lambda v^2$이다. 떨어지는 체인 부분에 같은 크기의 반작용이 작용한다.

떨어지는 부분의 길이 $x$일 때 작용하는 힘은 중력($(\lambda x)g$)와 impulsive force의 반작용(장력: 위쪽 방향)이므로 뉴턴의 운동방정식은

\begin{gather} ma=\sum F \\ \rightarrow\quad  (\lambda x) \frac{dv}{dt} = (\lambda x) g - f = \lambda x g - \lambda v^2 \\ \rightarrow\quad x \frac{dv}{dt} = xg - v^2.\end{gather}

시간 대신 떨어진 길이를 독립변수로 사용하면 $dv/dt = v dv/dx = \frac{1}{2} dv^2/dx$

$$ \frac{dv^2 }{dx} + \frac{2}{x} v^2 = 2g$$

을 얻을 수 있다. $v^2$에 대한 선형 미분방정식이므로 답은 쉽게 찾을 수 있다:

$$  v= \sqrt{\frac{2g}{3}x}.$$

따라서 가속도는

$$  a= \frac{dv}{dt} = \sqrt{ \frac{2g}{3}} \frac{v}{2\sqrt{x}} = \frac{g}{3},$$ 

이어서 등가속도 운동임을 알 수 있다.

그런데, 역학적 에너지를 구하면

$$ E= \frac{1}{2} \lambda x v^2 - \lambda x g \frac{x}{2}=-\frac{1}{6}\lambda g x^2=-\frac{mgL}{6}\left( \frac{x}{L}\right)^2,$$

이므로 체인이 내려감에 따라 에너지 손실이 발생함을 볼 수 있다. 어디로 간 것일까요? 이는 impulsive force가 작용한 효과로 이해할 수 있다.

 

 

   

'Physics' 카테고리의 다른 글

공은 얼마나 높이 올라갈까?  (0) 2022.01.19
등시진자  (0) 2022.01.14
체인이 떨어지는 가속도는?  (0) 2022.01.12
더 멀리 날아갈까?  (0) 2022.01.12
먼저 바닥에 닿는 다트는?  (0) 2022.01.12
돌이 움직이는 경로는?  (0) 2022.01.11
Posted by helloktk

댓글을 달아 주세요

더 멀리 날아갈까?

Physics 2022. 1. 12. 12:07
728x90

대포의 반동을 없애기 위해 벽에 고정시킨 후 발사한다. 포탄의 도달거리는 어떻게 변할까?

1. 변함없다.

2. 짧아진다.

3. 길어진다.

'Physics' 카테고리의 다른 글

등시진자  (0) 2022.01.14
체인이 떨어지는 가속도는?  (0) 2022.01.12
더 멀리 날아갈까?  (0) 2022.01.12
먼저 바닥에 닿는 다트는?  (0) 2022.01.12
돌이 움직이는 경로는?  (0) 2022.01.11
회전하는 막대 중간 부분에서 인장력은  (0) 2022.01.11
Posted by helloktk

댓글을 달아 주세요

728x90

동일한 다트건에 가벼운 다트와 무거운 다트를 각각 장착한 후 아래로 쏘았다. 먼저 바닥에 닿는 것은?

1. 가벼운 다트

2. 무거운 다트

3. 동시에

 

이제 두 다트건을 수평 방향으로 발사했다. 먼저 바닥에 닿는 것은?

1. 가벼운 다트

2. 무거운 다트

3. 동시에

Posted by helloktk

댓글을 달아 주세요

728x90

별 내부에 커다란 구형의 동굴이 있다. 이 동굴 내부에 돌을 가만히 놓았을 때 움직이는 경로로 맞는 것은?

 

Posted by helloktk

댓글을 달아 주세요

728x90

막대가 고정축에 대해 일정한 비율로 회전하고 있다. 막대 절반을 기준으로 안쪽 부분이 바깥쪽 부분을 당기는 힘(인장력: tensile stress)은 축에 걸리는 힘의 몇 배일까?

1. 1

2. 1/4

3. 1/2

4. 3/4

Posted by helloktk

댓글을 달아 주세요

728x90

지름이 $1~\text{mm}$인 구멍에서 나오는 녹색 레이저 포인터(파장: $\lambda = 532 ~\text{nm}$)를 달(지구-달 거리: $384000 ~\text{km}$, 반지름: $1734~\text{km}$)을 향해 쏠 때, 달에 생기는 레이저 반점의 지름은 얼마쯤 될까?

1. 1 m

2. 100 m

3. 1 km

4. 500 km

5. 달보다 크다.

 

그럼 레이저의 빛 지름이 $1~\text{m}$일 때, 달에 생기는 반점의 크기는 더 커질까 아니면 줄어들까?

Posted by helloktk

댓글을 달아 주세요

728x90

책상 위를 구르는 동전이 책상 가장자리에 도달하면 모서리를 축으로 회전을 한다. (물론 모서리에서 마찰이 충분히 제공된다는 전제 하에서). 그러다가 모서리에서 떨어지게 되는데 언제일까?

설명보기

모서리를 축으로 $\theta$만큼 회전한 상황에서 에너지 보존을 쓰면 위치에 따른 속력을 구할 수 있다:

$$mgR= \tfrac{1}{2}mv^2 + \tfrac{1}{2} I_\text{coin} \omega^2 + mgR \cos \theta, \quad (v=R\omega, ~I_\text{coin} = \tfrac{1}{2} mR^2 )$$

$$ \rightarrow ~v^2 = \tfrac{4}{3} gR(1-\cos \theta)$$

동전의 질량중심은 모서리를 축으로 회전을 하는데 수직항력과 중력의 일부가 구심력을 만든다.

$$\sum F_c= - N+mg\cos \theta =\frac{mv^2}{R}$$

모서리와 접촉을 유지하기 위해서는 수직항력이 사라지지 않아야 하므로

$$N= mg \cos \theta -\frac{mv^2}{R} > 0 \quad \rightarrow \quad  {v^2}  < gR \cos \theta.$$ 

에너지 보존에서 얻은 결과와 결합하면 모서리에 접촉하고 있는 각 범위를 구할 수 있다.

$$ \tfrac{4}{3} (1-\cos \theta) <  \cos \theta \quad \quad \therefore \theta <\cos^{-1}\left( \tfrac{4}{7}\right).$$

대략 $\theta = 55.15^\circ$에서 책상 모서리와 이별한다.

 

Posted by helloktk

댓글을 달아 주세요

728x90

물이 채워진 통 옆면 구멍에서 나오는 물줄기는 포물선을 그린다. 구멍의 위치에 따라 포물선의 모양이 달라지지만 이 포물선들에 공통으로 접하는 직선을 찾을 수 있다. 이 공통접선의 기울기는 얼마일까?

Posted by helloktk

댓글을 달아 주세요

728x90

물이 가득찬 정사각형 모양의 컵바닥에 구멍을 뚫었을 때 나오는물줄기의 속력이 $v_0$다. 물이 절반 남았을 때 컵을 45도 기울렸다. 이때 물줄기의 속력은?

1. $v_0$

2. $v_0/2$

3. $v_0/\sqrt{2}\approx 0.707 v_0$

4. $v_0/\sqrt[4]{2}\approx 0.841 v_0$

5. 컵의 크기에 따라 달라진다.

Posted by helloktk

댓글을 달아 주세요

728x90

$\theta=30^\circ$ 경사진 미끄러운 언덕 위에 바퀴($R$)를 고임목을 이용해서 고정시키려 한다. 고임목의 최소 높이($h$)는?

1. $R$

2. $\frac{\sqrt{3}}{2}R\approx0.866 R$

3. $\frac{1}{2}R$

4. $(1-\frac{\sqrt{3}}{2})R\approx 0.134 R$

5. 바퀴 무게에 따라 달라진다.

 

마찰이 있는 경우는 어떻게 달라질까?

Posted by helloktk

댓글을 달아 주세요

728x90

긴 막대의 한쪽 끝을 바닥에 지지한 후 그림처럼 손으로 지탱할 때 힘이 가장 많이 드는 지점는?

1. 막대 중심

2. 막대 오른쪽 끝

3. 막대 중심과 오른쪽 끝의 중간지점

4. 막대 중심과 오른쪽 끝 사이의 어느 지점 

이 결론은 막대 길이와 상관없는가? 물론, 막대는 $h$보다 길어야 한다.

 

Posted by helloktk

댓글을 달아 주세요

  1. hgmhc 2022.01.07 18:57 신고  댓글주소  수정/삭제  댓글쓰기

    mg cos theta가 가장 작은거 - theta가 가장 작은거 - 1번. 맞나요?

728x90

타이어가 가속도 $a$로 미끄러짐이 없이 구른다. 회전 각속력이 $\omega$일 때 가장자리 4 지점 $A, B, C, D$의 가속도(방향, 크기)는? 

Posted by helloktk

댓글을 달아 주세요

728x90

판자($M$)의 오른쪽 끝에 실린더($m$)가 올려져 있다. 힘($F$)을 줘서 판자를 오른쪽으로 밀 때 (실린더는 판자 위에서 미끄러짐이 없이 구른다),

1. 실린더가 회전하는 방향은? 

2. 실린더가 움직이는 방향은?

3. 실린더 (and 판자)의 가속도는? (바닥과 마찰이 없는 경우)

4. 실린더가 판자의 왼쪽 끝으로 왔을 때 실린더는 처음 위치에서 얼마나 이동한 것인가?

Posted by helloktk

댓글을 달아 주세요