-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
14-yuyu0840 #59
14-yuyu0840 #59
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μ¬μ€ μ΄λ κ² μ½λκ° κΈΈ μ λλ‘ λ³΅μ‘ν λ¬Έμ κ°..? μΆκΈ°λ ν©λλ€.
μ κ°μ κ²½μ°λ μμ μ λ¬Έμ μ€ μ μ¬κ°νμ 4μ μ€ ν μ μ 2,3 κ°μ μ μ μμΉλ§μΌλ‘ νμ
νλ λ¬Έμ κ° μμλ κ±Έλ‘ κΈ°μ΅νλλ° κ·Έμ μ μ¬νκ² ν μ μμ§ μμκΉμ?
μ λΆ Aμ μ’ν 1, 2μ μ λΆ Bμ μ’ν 1, 2κ° μ‘΄μ¬ν κ²μ΄κ³ μ΄λ₯Ό A1 A2 B1 B2λ‘ νκΈ°νλ€ νμ λ κ³μ°νκΈ° μ½λλ‘ μ’ν κ°μ μμ κ°λΆν° λΉκ΅λ₯Ό ν΄μ€λλ€. μ λΆ Aλ₯Ό κΈ°μ μΌλ‘ μ λΆ Bμ 첫 μ κ³Ό λΉκ΅νμ λ Aμ μ μ΄ Bμ μ λ³΄λ€ μλμ μμ κ²½μ°. Aμ λ€λ₯Έ νμ μ Bμ μ λ³΄λ€ μμ μμ΄μΌ ν©λλ€.
μ΄μ κ°μ΄ Aμ μ μ΄ Bμ μ λ³΄λ€ μμ μμ κ²½μ° Aμ λ€λ₯Έ νμ μ Bμ μ λ³΄λ€ μλ μμ΄μΌ ν κ²μ΄κ³ μ΄λ₯Ό μ μ¬κ°νμΌλ‘ λνλ΄λ©΄ μ€μ μ κΈ°μ€μΌλ‘ μ 4μ¬λΆλ©΄μΌλ‘ λλ μ μμ΅λλ€. κ° μ¬λΆλ©΄ (-, +) (+, +) (-, -) (+, -)μ λ§κ² κ³μ°μ ν΄μ£Όλ κ΅μ°¨μ μ΄ μ¬κ°νμμ ν¬ν¨νλμ§μ κ²ΉμΉλ λΆλΆμ μ 체ν¬ν΄μ£Όλ©΄ λ κ² κ°μλ°..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
κ°μ§ν μμ λ γ±γ γ κ΅μλμ΄ μ΄ λ¬Έμ μ λΉμ·ν λ¬Έμ λ₯Ό κ³Όμ λ‘ μ£Όμ κΈ°μ΅μ΄ μλ€μ.. μ λ λ¨Όκ° μνμ μ΄λ μμ§μ μ ꡬλΆν΄μ μ μ₯ν΄λκ³ κ°μ μ λΆλΌλ¦¬λ xμ’νμ yμ’νλ₯Ό κ°κ° λΉκ΅νμ¬ κ°λ¨νκ² μΆλ ₯νκ³ , νλλ μμ§μ νλλ μνμ μΈ κ²½μ°μλ μνμ κΈ°μ€μμ μμ§μ μ yμ’ν μ¬μ΄μ μνμ μ yμ’νκ° μ‘΄μ¬νλμ§, μ‘΄μ¬νλ€λ©΄ xμ’νλ κ·Έ μ¬μ΄μ μλμ§ κ²μ¬ν©λλ€. λ°λλ‘ μμ§μ κΈ°μ€μμλ μνμ μ κ²μ¬νκ³ κ΅μ°¨ κ²μ¦μ΄ μλ£λλ©΄ 1μ μΆλ ₯νλλ‘ ν κ² κ°μμ.
ν΄λ³΄μμμ€ κ·Έλ¦¬κ³ μ λλ©΄ μ λ μ’ μλ €μ£Όμμμ€ |
π λ¬Έμ λ§ν¬
μ λΆ κ΅μ°¨ 2
βοΈ μμλ μκ°
3μΌ (λ¬΄λ € 67νΈ..)
(μμ°)
β¨ μλ μ½λ
β λ¬Έμ
μ λΆ 2κ°κ° (x1, x2), (y1, y2), (a1, a2), (b1, b2) μ ννλ‘ μ£Όμ΄μ§λ€. μ΄ λ μ΄ μ λΆμ΄ κ΅μ°¨νλμ§ κ΅μ°¨νμ§ μλμ§ νλ¨νμ. (μ μμ λ§λλ κ²½μ°λ κ²ΉμΉλ κ²μ΄λ€.)
β νμ΄
ν΄κ²° μκ³ λ¦¬μ¦
μ¬μ€ μ²μ λ΄€μλ λ무 μ¬μ보μλ€. λ€μν λ°©λ²μ΄ λ μ¬λκ³ , μμΈλ κ·Έλ κ² λ§μ΄ λ μ€λ₯΄μ§ μμλ€. ν΄κ²° λ°©μμ "μ x, yλ₯Ό μ§λλ
μ§μ P
μ μ a, bλ₯Ό μ§λλμ§μ Q
μ κ΅μ°¨μ μ΄ TμΌ λ, Tκ° μ x, yλ₯Ό μλμ λΆ U
μμ μμΌλ©΄μ λμμ μ a, bλ₯Ό μλμ λΆ S
μμ μμΌλ©΄ κ΅μ°¨νλ€" λΌλ νμ΄λ€. μ¦ μ λΆμ μ§μ μΌλ‘ μ°μ₯ν λ€ κ΅μ°¨μ μ μ°Ύκ³ , ν΄λΉ κ΅μ°¨μ μ΄ μ λΆ μμ μλμ§ νμΈνλ λ°©μμ΄μλ€.ν΄κ²° μκ³ λ¦¬μ¦ μμΈ
νμ΄ λ°©μμ λν λ‘μ§μ κ°λ¨νλ€. μ x, yλ₯Ό μ§λλ
μ§μ Pμ κΈ°μΈκΈ° g
λyμ μ¦κ°λ / xμ μ¦κ°λ = (y2 - y1) / (x2 - x1)
μ΄κ³ ,y μ νΈ i
λy = mx + b, b = y1 - (y2 - y1) / (x2 - x1) * x1
κ° λλ€.μ 곡μμ ν΅ν΄
μ§μ P
μμ§μ Q
μ κΈ°μΈκΈ°μ μ νΈμ ꡬνλ€λ©΄ ν΄λΉ λ 곡μμ κ΅μ°¨μ μ μ°ΎμΌλ©΄ λλ€.P = Q
κ° λλ μ μ μ°ΎμΌλ©΄ λκΈ° λλ¬ΈμP = mx + a = nx + b = Q
λΌκ³ 곡μμ μΈμ°κ³ κ°κ° κΈ°μΈκΈ°μ μ νΈμ λμ ν λ€, μ°λ¦½ λ°©μ μμΌλ‘ μμ νλ©΄P = Q
κ° λλμ§μ μ κ΅μ°¨μ T
λ₯Ό ꡬν μ μλ€.κ΅μ°¨μ T
λ₯Ό ꡬνμΌλ μ΄μ μ λΆ μμ μλμ§λ§ νμΈνλ©΄ λλ€.κ΅μ°¨μ T
λμ§μ P, Q
μμ μλκ² μλͺ νλ x, y μΆμ κ° μ€ νλλ§ λΉκ΅ν΄ μ£Όλ©΄ λκ² λ€κ³ νλ¨νλ€. κ·Έλ κ² Tκ°μ λΆ S, U
μμ μλ κ²λ§ νμΈνλ©΄ κ΅μ°¨ νλ¨ μκ³ λ¦¬μ¦μ μμ±μ΄μλ€.μ¬κΈ°κΉμ§ λ¬Έμ κ° μμλ€.
1οΈβ£ 첫λ²μ§Έ μκΈ°
1%μμ λ§κ΅¬λ§κ΅¬ νλ Έλ€. μκ°ν΄λ³΄λ μ§μ μ κΈ°μΈκΈ°κ° 0(xμΆκ³Ό νν) μ΄κ±°λ 무ν(yμΆκ³Ό νν) μΌ μλ μκ² λ€ μΆμλ€. μ΄ λΆλΆμ λ³λλ‘ μ²λ¦¬ν΄μ€μΌνλλ° μ΄κ² μκ°λ³΄λ€ λ§€μ° μ΄λ €μ λ€. μ°μ μ§μ μ κΈ°μΈκΈ° κ°μ 0, INF κ°μ λ£λ κ²μΌλ‘ ν΄κ²°ν΄λ΄€λ€.
2οΈβ£ λλ²μ§Έ μκΈ°
μ¬μ ν 1%μμ μ€λ₯΄μ§ μμλ€. μ λ΅μ κ²½μ°μ μκ° 1, 0 λΏμΈκ±Έ κ°μνλ©΄ μ°μ΄λ 1/2 νλ₯ μΈλ° 1%μμ λ©μΆλ€λ건 μ΄λ μ§μ§λ¦¬ μλ€λ μ΄μΌκΈ°κ² λ€.
μ§μ μ΄ μΆκ³Ό ννν κ²½μ°λ μ°μ°μ λ³λλ‘ μ§νν νμκ° μμλ€. Line κ°μ²΄μ
bool isZero, isInf
λ³μλ₯Ό λμ΄ μ§μ μ κΈ°μΈκΈ°κ° 0μΈ κ²½μ°μ 무νμΈ κ²½μ°λ₯Ό λ°λ‘ νκΈ°νκ³ , κ΅μ°¨μ μ ꡬν λ κ²½μ°μ μλ₯Ό μ λΆ κ΅¬ννλ€. ν μ§μ μ κΈ°μΈκΈ°κ° 0μ΄κ±°λ 무νμΈ κ²½μ°μ κΈ°μΈκΈ° κ° νΉμ μ νΈ κ°μ΄ μ΄μν΄μ§κΈ° λλ¬Έμ κΈ°μ‘΄μ μ°λ¦½ λ°©μ μ λλ‘ νλ©΄ μ΄μν κ°μ΄ λμ¨λ€.λ°λΌμ ν μ§μ μ΄ κΈ°μΈκΈ°κ° 0μ΄κ±°λ 무νμΈ κ²½μ°μ ν΄λΉ μ§μ μ yμ νΈ νΉμ x μ νΈμ κ°μ μ·¨ν΄ ν΄λΉ κ°μΌλ‘ μ°λ¦½λ°©μ μμ ν΄κ²°νλ€.
3οΈβ£ μΈλ²μ§Έ μκΈ°
μλ§ μ΄ λ 3%κΉμ§ μ¬λλ κ² κ°λ€. κΈ°μκΈ΄ νλλ° λ λκ° λ¬Έμ μ§ νμ°Έ ν€λ§€λ€κ° μ§μ μ΄ ννν μλ μκ² λ€λ μκ°μ νλ€. κ·Έλμ κΈ°μΈκΈ°λ₯Ό λΉκ΅ν΄ κΈ°μΈκΈ°κ° κ°μ κ²½μ° μ νΈμ λΉκ΅ν΄ μ νΈμ΄ κ°λ€λ©΄ κ°μ μ§μ μμ μλ€κ³ νλ¨νλ€.
4οΈβ£ λ€λ²μ§Έ μκΈ°
μ ν ν΄κ²°λμ§ μμλ€. μμΌκΉ κ³ λ―Όν΄λ΄€λλ° "μ€μ μ°μ°μ μ€μ°¨κ° μλ κ²½μ°" κ° μμ μ μκ² λ€ μΆμλ€. κ·Έλμ κΈ°μΈκΈ°λ μ νΈμ λΉκ΅ν λ
P.gradient == Q.gradient
νκ³ μ°λκ±Έabs(P.gradient - Q.gradient) < ERR_RANGE
(ERR_RANGE = 0.001f) λ‘ μ€μ°¨ λ²μμ λν΄ νμ©νλ€.5οΈβ£ λ€μ―λ²μ§Έ μκΈ°
ν π¬ λ무 λ΅λ΅νλ€... κ·Έλλ μ‘°κΈ κ³ λ―Όνλ€κ° μκ°λκ² ν μ μμ λ§λλ κ²λ μ λΆμ΄ κ΅μ°¨νλ€κ³ νλ¨νλ€λ λΆλΆμ΄ κΈ°μ΅λμ μ§μ μ λ μ λΌλ¦¬ μ΄ 4κ°μ μ μ μμΉλ₯Ό μλ‘ λΉκ΅νλ€.
6οΈβ£ μ¬μ―λ²μ§Έ μκΈ°
π¬ π¬ 3λ²μ§Έ μκΈ°μμ ν΄κ²°νλ ννν μ§μ μ λ§λλ μ¬λΆμμ μ§μ μ νννμ§λ§ λ²μκ° λ¬λΌ μλ‘ λ§λμ§ μλ μ§μ λ μμλ€. μ΄ λΆλΆμ κ° μ λΆμ λ²μκ° κ²ΉμΉλ κ²½μ°λ₯Ό μ°Ύμ μμΈμ²λ¦¬νλ€.
λ무 κΈΈμ΄μ§ κ² κ°μμ μ΄ λ€λ μ‘°κΈ μ 리ν΄μ μ λλ‘ νκ² λ€.
y μ νΈ
,x μ νΈ
μ λΉκ΅νλ€.-1,000,000 ~ 1,000,000
μ΄κΈ° λλ¬Έμ μ°μ°νλ€κ°1,000,000 ^ 4
κΉμ§ κ° μλ μκ² λ€κ³ μκ°μ νλ€ (κ·Όκ±°λ μμκ³ λ¨μ μΆμΈ‘μ΄μλ€).float
λ₯Όdouble
λ‘ μ μΈνλ€.ERR_RANGE
κ°μ 0.001f λ‘ μ¬μ©μ€μ΄μλλ° μ λΉνμ§ λͺ»νλ€. μ¬λ¬ μνμ°©μ€λ₯Ό ν΅ν΄ 0.0000001f κ° μ μ νλ€λ κ²μ μμλ€. (κ·Όλ° μ€μ°¨ λ²μμ λ°λΌ κ²°κ³Όκ° λ€λ₯΄κ² λμ€λκ±° 보면 λ©μ©‘ν νμ΄λ μλμλ κ² κ°λ€.)λ§κ³ λ μΈμΈνκ² λ€μν λΆλΆμ λν΄ ν΄κ²°μ± μ μ립νμλ€. νλ νλ Έμ΅λλ€ νΌμΌν μ΄μ§κ° λ€μ₯λ μ₯ν΄ μλ§μ ν΄κ²°μ± μ€μ μ΄λ€ ν΄κ²°μ± μ΄ ν¨κ³Όκ° μμκ³ μ΄λ€ ν΄κ²°μ± μ΄ ν¨κ³Όκ° μμλμ§λ μ λͺ¨λ₯΄κ² λ€.
π μλ‘κ² μκ²λ λ΄μ©
μμΈμ²λ¦¬ ν΄μΌν κ²½μ°μ μκ° λ§€μ°λ§€μ°λ§€μ° λ§μ λ¬Έμ μλ€. μ§μ§ λ무 νλλ λ¬Έμ μμ§λ§ λͺ¨λ μμΈμ λν΄ νλνλ μ²λ¦¬νλ€λ³΄λ ν΄κ²°ν΄μ μ§μ§μ§μ§ λ무 기뻀λ€.
μμΈμ κ²½μ°μ μλ₯Ό μ’ λ λ§μ΄ μκ°ν΄λ³΄κ³ , ν μ€νΈ μΌμ΄μ€λ₯Ό 지 νμκ° μκ² κ΅¬λ λλ λ¬Έμ μλ€.