Β© 2026 Hashnode
μ΄λ² νΈμ μ΄μ νΈμΌλ‘λΆν° μ΄μ΄μ§λλ€. νμΉ λμ λ§μ°¬κ°μ§λ‘ κΈ°μ€μ μ λν΄ νλ² μκ°ν΄ λ΄ μλ€. λ§μ°¬κ°μ§λ‘ κ³ μ λ ν¬μΈν°λ₯Ό κΈ°μ€μ μΌλ‘ μκ°ν μ μμ΅λλ€. μ΄λ₯Ό μννκΈ° μν λ³ν νλ ¬μ μλμ κ°μ΅λλ€. $$\begin{aligned} \begin{pmatrix} 1 & 0 & t_x \\ 0 & 1 & t_y \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} \cos\theta & -\sin\theta & 0 \...

μ κΉ! PointerEventμ λν΄ μμ§ μ λͺ¨λ₯Έλ€λ©΄ [typescript] ν¬μΈν° λν΅ν©(with. PointerEvent)μ λ¨Όμ μ½μ΄λ³΄μΈμ! λ‘ν μ΄νΈλ μ§μ λ μ€μ¬μ μ κΈ°μ€μΌλ‘ νμ νλ― μ€μμ΄ννλ λμμ λ§ν©λλ€. μ§λ νΈκ³Ό λ§μ°¬κ°μ§λ‘ κ°μμ μ€μ¬μ μ μμν΄ λ³΄μΈμ. μ΄μ ν¬μΈν°λ₯Ό λ°°μΉνκ³ μ€μ¬μ μ κΈ°μ€μΌλ‘ νμ νλ―μ΄ μ΄λν΄λ΄ μλ€. μ΄λ κ² νλ©΄ μλμ κ°μ μΈ μ μ΄ λ°μν©λλ€. μ΅μ΄μ μ§μ λ μ€μ¬μ \(O\) ν¬μΈν°μ μ΄κΈ° μ§μ ...

μ΄λ² νΈμ μ΄μ νΈμΌλ‘λΆν° μ΄μ΄μ§λλ€. μ΄λ²μλ κΈ°μ€μ μ λν΄ νλ² μκ°ν΄ λ΄ μλ€. ν¬μΈν° μ΄λ²€νΈλ νλμ ν¬μΈν°μ λν΄ κ°λ³μ μΌλ‘ λ°μν©λλ€. λ ν¬μΈν°μ μ΄λμ΄ κ±°μ λμΌνλλΌλ λ§μ΄μ§μ. λ°λΌμ λ ν¬μΈν°μ λν΄ μμ§μ΄λ ν¬μΈν°μ κ³ μ λ ν¬μΈν°λ‘ μκ°ν μ μμ΅λλ€. κ·Έλ λ€λ©΄ κ³ μ λ ν¬μΈν°κ° κΈ°μ€μ μ΄ λκ² λ€μ. μ΄λ₯Ό μννκΈ° μν λ³ν νλ ¬μ μλμ κ°μ΅λλ€. $$\begin{aligned} \begin{pmatrix} 1 & 0 & t...

μ κΉ! PointerEventμ λν΄ μμ§ μ λͺ¨λ₯Έλ€λ©΄ [typescript] ν¬μΈν° λν΅ν©(with. PointerEvent)μ λ¨Όμ μ½μ΄λ³΄μΈμ! νμΉλ μ§μ λ μ€μ¬μ μ κΈ°μ€μΌλ‘ μ€μμ΄ννλ λμμ λ§ν©λλ€. ν¬μΈν°κ° μ€μ¬μ μΌλ‘λΆν° λ©μ΄μ§λ©΄ νμΉ μμ, κ°κΉμμ§λ©΄ νμΉ μΈμ΄λΌκ³ ν©λλ€. κ°μμ μ€μ¬μ μ μμν΄ λ³΄μΈμ. μ΄μ ν¬μΈν°λ₯Ό λ°°μΉν ν, μ΄λνμ¬ λ©μ΄μ§κΈ°λ νκ³ , κ°κΉμμ§κΈ°λ νλ κ²λλ€. μ΄λ κ² νλ©΄ μλμ κ°μ μΈ μ μ΄ λ°μν©λλ€...

μ΄λ² νΈμ μ΄μ νΈμΌλ‘λΆν° μ΄μ΄μ§λλ€. νλ¦μ μ΄λ λ²μλ₯Ό μ ννκ³ μΆλ€λ©΄ μ΄λ»κ² ν΄μΌ ν κΉμ? λ¨μν κ³μ° μλ§λ€ λμμ΄ μ ν¨ν λ²μ λ΄μ μλμ§ νμΈν μλ μμ κ²μ λλ€. νμ§λ§ μ΄λ λ€μ λΉν©λ¦¬μ μΌλ‘ λ³΄μΌ μ μμ΅λλ€. μ°λ¦¬λ μ‘°κΈ λ μ리ν λ°©λ²μΌλ‘ μ΄λ₯Ό ν΄κ²°ν μ μμ΅λλ€. μ΅λ λ³μ λ³μκ° μλλ₯Ό λ§μ‘±ν΄μΌ νλ€κ³ ν©μλ€. $$\begin{aligned} & s \leq k \end{aligned}$$μ°λ¦¬λ μμμ λ€μκ³Ό κ°μ΄ μ κ°...

μ΄λ² νΈμ μ΄μ νΈμΌλ‘λΆν° μ΄μ΄μ§λλ€. μ§λ νΈμμλ μκ°μ λ°λ₯Έ λ³μλ₯Ό ꡬνμ΅λλ€. κ·Έλ¬λ©΄ μ΄κ²μ μ½λμ λ°λ‘ μ μ©ν μ μμκΉμ? μμ½μ§λ§ μ‘°κΈ λΆμ‘±ν©λλ€. μΌλ§λ μ΄λν΄μΌ νλμ§ μ μ μμμ§λ§ κ²°κ΅ κ° μ’νμ λν΄ μ΄λ»κ² μ΄λν΄μΌ νλμ§ μ μ μμμΌλκΉμ. μ΄λ₯Ό μν΄ λ κ°μ§ μ’ν μ±λΆ μ¦, \(x\)μ \(y\) μ’νλ‘ λΆν΄ν΄μΌ ν©λλ€. μ΄κΈ° μλλ₯Ό \(x\)μ \(y\) μ’ν μ±λΆμΌλ‘ λΆν΄νλ©΄ λ€μκ³Ό κ°μ΅λλ€. $$\begin{a...

μ΄λ² νΈμ μ΄μ νΈμΌλ‘λΆν° μ΄μ΄μ§λλ€. μ§λ νΈμμλ κ°λ¨ν νλ¦μ λν μ΄κΈ° μλλ₯Ό κ³μ°ν΄ λ΄€μ΅λλ€. κ·Έλ λ€λ©΄ μ΄κ²μ μ΄λ»κ² νμ©ν μ μμκΉμ? μ¬λ¬λΆμ κ΄μ¬μ¬λ κ²°κ΅ μΌλ§λ μ΄λν΄μΌ νλμ§μΌ κ²μ λλ€. μ΄λ₯Ό μν΄μλ μκ°μ λ°λ₯Έ μλλ₯Ό μ νμκ° μμ΅λλ€. λ±κ°μλ μ΄λμμμ μλλ \(v = v_0 + at\) μ λλ€. κ°κ° \(v_0\) = μ΄κΈ° μλ, \(a\) = κ°μλ, \(t\) = μκ°μ λλ€. μλλ μ μ°¨ κ°μν΄μΌ νλ―λ‘ κ°...

μ κΉ! PointerEventμ λν΄ μμ§ μ λͺ¨λ₯Έλ€λ©΄ [typescript] ν¬μΈν° λν΅ν©(with. PointerEvent)μ λ¨Όμ μ½μ΄λ³΄μΈμ! νλ¦μ μ€μμ΄ννλ€κ° ν¬μΈν°λ₯Ό λΌλ λμμ λ§ν©λλ€. λ€λ₯Έ μ μ€μ²λ ν¬μΈν°λ₯Ό λκ³Ό λμμ μ’ λ£λμ§λ§, νλ¦μ λ μ΄νμ μλ―Έκ° μμ΅λλ€. κ·Έλ λ€λ©΄ ν¬μΈν° μ΄λ²€νΈκ° μ’ λ£λ νμ μ΄λ»κ² λμμ μ΄μ΄κ° μ μμκΉμ? λΉλ°μ μκ° μλμ μμ΅λλ€. interface PanEvent { timest...

μ΄λ² νΈμ μ΄μ νΈμΌλ‘λΆν° μ΄μ΄μ§λλ€. μ€μμ΄νλ νΉμ μΆμ λ°λΌ μ΄λνλ ν¬ λμμ μλ―Έν©λλ€. μ¦, μ΄λ μΆμ μ νν ν¬μ λλ€. λλΆλΆ μμ§, μν μΆμ λν΄ μ¬μ©ν©λλ€. μΆμ μ ννλ €λ©΄ μ΄λ»κ² ν΄μΌ ν κΉμ? μ΄λ₯Ό μν΄μλ ν¬μΈν°μ μ’νλ₯Ό μΆ μμ λμμΌ ν©λλ€. μ΄λ μΆμ λ΄λ¦° μμ μ λ°μ ꡬνλ λ¬Έμ μ λμΌν©λλ€. function findPerpendicularFootOnAxis(x: number, y: number, axis: num...
