Numpy: ๊ธฐ๋Šฅ ์š”์ฒญ: ์ขŒํ‘œ๊ณ„ ๋ณ€ํ™˜์„ ์œ„ํ•œ numpy ๋‹จ์ˆœ ๊ธฐ๋Šฅ์— ์ถ”๊ฐ€

์— ๋งŒ๋“  2014๋…„ 10์›” 24์ผ  ยท  14์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: numpy/numpy

numpy ์ˆ˜ํ•™์  ๋ฃจํ‹ด ์˜ ์ผ๋ถ€๋กœ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

cart2pol -- ๋ฐ์นด๋ฅดํŠธ๋ฅผ ๊ทน์ขŒํ‘œ๋กœ ๋ณ€ํ™˜

def cart2pol(x, y):
    theta = np.arctan2(y, x)
    rho = np.hypot(x, y)
    return theta, rho

pol2cart -- ๊ทน์ขŒํ‘œ๋ฅผ ๋ฐ์นด๋ฅดํŠธ ์ขŒํ‘œ๋กœ ๋ณ€ํ™˜

def pol2cart(theta, rho):
    x = rho * np.cos(theta)
    y = rho * np.sin(theta)
    return x, y

cart2sph -- ๋ฐ์นด๋ฅดํŠธ ์ขŒํ‘œ๋ฅผ ๊ตฌ๋ฉด ์ขŒํ‘œ๋กœ ๋ณ€ํ™˜

def cart2sph(x, y, z):
    hxy = np.hypot(x, y)
    r = np.hypot(hxy, z)
    el = np.arctan2(z, hxy)
    az = np.arctan2(y, x)
    return az, el, r

sph2cart -- ๊ตฌํ˜•์„ ๋ฐ์นด๋ฅดํŠธ ์ขŒํ‘œ๋กœ ๋ณ€ํ™˜

def sph2cart(az, el, r):
    rcos_theta = r * np.cos(el)
    x = rcos_theta * np.cos(az)
    y = rcos_theta * np.sin(az)
    z = r * np.sin(el)
    return x, y, z
01 - Enhancement numpy.lib

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” ๋‹น์‹ ์ด ๋ฌด์Šจ ๋ง์„ ํ•˜๋Š”์ง€ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ๊ธฐํ•˜ํ•™์  ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ ์†Œํ”„ํŠธ์›จ์–ด ๋“ฑ์—์„œ ์ขŒํ‘œ๊ณ„๋กœ ์ž‘์—…ํ•  ๋•Œ ๋งค์šฐ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. n์ฐจ์›์— ๋Œ€ํ•œ ์ผ๋ฐ˜ํ™”๋Š” ๋“œ๋ฌผ๊ฒŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. MATLAB์—๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ ์ด ์กด์žฌ ํ•˜๋ฉฐ ์˜คํžˆ๋ ค ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜๋ฅผ rad2deg ๋ฐ deg2rad์™€ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์ˆ˜ํ•™์  ๋ฃจํ‹ด์œผ๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋“ค์€ ์•„์‹œ๋‹ค์‹œํ”ผ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜์ด๋ฉฐ numpy์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค .

๋ชจ๋“  14 ๋Œ“๊ธ€

์ด๊ฒƒ์ด numpy์— ์žˆ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์€ ์ตœ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํžˆ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ๋“ค์„ ์ถ”๊ฐ€ํ•œ๋‹ค๋ฉด ์–ด๋–ค ๋ณ€ํ™˜์„ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ธ๊ฐ€์— ๋Œ€ํ•œ ์„ ์„ ๊ทธ์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๊ฒƒ๋“ค์˜ ๋ฌดํ•œํ•œ ์–‘์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ๋ฉด ๋ณ€ํ™˜์—๋งŒ ์„ ์„ ๊ธ‹๋”๋ผ๋„ ์—ฌ๊ธฐ์— ํ‘œ์‹œ๋˜์ง€ ์•Š์€ ๋‹ค์–‘ํ•œ ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜๊ฐ€ ์‹ค์ œ๋กœ ๋‚ด๋ถ€์ ์œผ๋กœ(์˜ˆ: astropy) ์‚ฌ์šฉํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ํŠน์ • ๊ทœ์น™์„ ๋”ฐ๋ฅด๋Š” ํŒจํ‚ค์ง€์— ๋” ์ ํ•ฉํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ๋ฌด์Šจ ๋ง์„ ํ•˜๋Š”์ง€ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ๊ธฐํ•˜ํ•™์  ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ ์†Œํ”„ํŠธ์›จ์–ด ๋“ฑ์—์„œ ์ขŒํ‘œ๊ณ„๋กœ ์ž‘์—…ํ•  ๋•Œ ๋งค์šฐ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. n์ฐจ์›์— ๋Œ€ํ•œ ์ผ๋ฐ˜ํ™”๋Š” ๋“œ๋ฌผ๊ฒŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. MATLAB์—๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ ์ด ์กด์žฌ ํ•˜๋ฉฐ ์˜คํžˆ๋ ค ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜๋ฅผ rad2deg ๋ฐ deg2rad์™€ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์ˆ˜ํ•™์  ๋ฃจํ‹ด์œผ๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋“ค์€ ์•„์‹œ๋‹ค์‹œํ”ผ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜์ด๋ฉฐ numpy์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค .

์ผ๋ฐ˜์ ์œผ๋กœ numpy์—๋Š” ๊ธฐ๋ณธ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์œ„ํ•œ ์žฅ์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌผ๊ฑด. ๋ถ„๋ช…ํžˆ ์„ ์„ ์ •ํ™•ํžˆ ์–ด๋””์— ๊ทธ์–ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ์ ์–ด๋„ ์ด์™€ ๊ฐ™์€ ๊ฒƒ์„ ํฌํ•จํ•ด์•ผ ํ•˜๊ณ  ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (๊ทน๋‹จ์ ์œผ๋กœ
์˜ˆ๋ฅผ ๋“ค์–ด np.pi๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ๋‹ค์‹œ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋“ค์€ ๊ทธ๊ฒƒ์„ ํ•„์š”๋กœ ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋„๋ก ๊ฐ•์š”ํ•˜๋Š” ๊ฒƒ์€ ์„ฑ๊ฐ€์‹  ๋‚ญ๋น„์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ๋“ค์˜ ์‹œ๊ฐ„)

๋”ฐ๋ผ์„œ ์„ ์„ ๊ทธ๋ฆฌ๋ ค๋ฉด ์‹ค์ œ๋กœ ์ผ๋ถ€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ ์„ ๊ทธ๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์›์น™ IMO.

์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ๋‹จ์ˆœ ๋„์šฐ๋ฏธ์— ๋Œ€ํ•ด ๊ณ ๋ คํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ์ž ์žฌ์  ๊ธฐ์ค€:

  • ๊ด‘๋ฒ”์œ„ํ•œ ์‚ฌ์šฉ์ž ๊ณ„์ธต์„ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๊นŒ?
  • ์ด ์‚ฌ์šฉ์ž๋Š” ๋™์ผํ•œ ๊ทœ์น™ ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ?
  • ๋ช…๋ฐฑํ•œ API๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ์Šต๋‹ˆ๊นŒ?
  • ์ตœ์ ์˜ ๊ตฌํ˜„์ด ํ•˜๋‚˜๋งŒ ์žˆ์Šต๋‹ˆ๊นŒ?
  • ์ด ์ตœ์ ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ์„ฑ๊ฐ€์‹  ์„ฑ๊ฐ€์‹  ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?
    ๊ตฌํ˜„? (OP์˜ pol2cart๋Š” ๋ถˆํ•„์š”ํ•œ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.)
  • ๊ทธ๋“ค์€ ์šฐ๋ฆฌ์—๊ฒŒ ์ง€์†์ ์ธ ์œ ์ง€ ๋ณด์ˆ˜ ๋ถ€๋‹ด์ด๋ฉ๋‹ˆ๊นŒ? (์ด๊ฑด ์ข€
    ์œ„์˜ ๋ช‡ ๊ฐ€์ง€ ์ ์˜ ์ƒ์œ„ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.)

๋‚˜๋Š” ์ด ๊ธฐ๋Šฅ๋“ค์ด ์ด๋Ÿฌํ•œ ๊ธฐ์ค€์—์„œ ๊ฝค ์ข‹์€ ์ ์ˆ˜๋ฅผ ๋ฐ›์•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋ชจ๋‘ ์‚ฌ์šฉ
๊ทน์ขŒํ‘œ๋Š” ๋•Œ๋•Œ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๊ตฌํ˜„ํ•œ ๊ฒƒ์— ๋Œ€ํ•ด ์•„๋ฌด๋„ ๋ถˆํ‰ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ๋“ค์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๊ณต์‹์„ ๋‹ค์‹œ ํ™•์ธํ•˜๋Š” ๊ฒƒ์€
์งœ์ฆ๋‚˜๋Š” ์‹œ๊ฐ„๋‚ญ๋น„ ๋“ฑ

๋‚ด๊ฐ€ ๋ถˆํ™•์‹คํ•œ ํ•œ ๊ฐ€์ง€๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๋™์ผํ•œ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.
๊ตฌ๋ฉด ์ขŒํ‘œ์™€ ๋ฐ์นด๋ฅดํŠธ ์ขŒํ‘œ ๊ฐ„์˜ ๋งคํ•‘ - ์•„๋Š” ์‚ฌ๋žŒ ์žˆ๋‚˜์š”?
๋‚˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐํ˜ธ ๊ทœ์น™์„ ๊ฐ€์ง„ ๋‹ค๋ฅธ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์ƒ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌด์—‡์ด๋“ , ๋‚˜๋Š” ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
2014๋…„ 10์›” 24์ผ 21์‹œ 4๋ถ„์— "Evgeny Prilepin" [email protected] ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ๋ฌด์Šจ ๋ง์„ ํ•˜๋Š”์ง€ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š”
๊ธฐํ•˜ํ•™์  ์ขŒํ‘œ๊ณ„๋กœ ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ๋งค์šฐ ์ž์ฃผ
์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ ์†Œํ”„ํŠธ์›จ์–ด ๋“ฑ n์ฐจ์›์˜ ์ผ๋ฐ˜ํ™”
๋“œ๋ฌผ๊ฒŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. MATLAB์—๋Š” ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
http://www.mathworks.com/help/matlab/cartesian-coordinate-system-conversion.html
๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ๊ทธ๊ฒƒ๋“ค์ด ์˜คํžˆ๋ ค ํŽธ๋ฆฌํ•˜๋‹ค๊ณ  ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ๊ณ ๋ ค
์˜ˆ๋ฅผ ๋“ค์–ด, rad2deg ํ•จ์ˆ˜์™€ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์ˆ˜ํ•™ ๋ฃจํ‹ด์œผ๋กœ
๋ฐ๊ทธ2๋ผ๋“œ. ์ด ๊ธฐ๋Šฅ๋“ค์€ ์•„์‹œ๋‹ค์‹œํ”ผ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ์ด๋ฉฐ
์กด์žฌํ•˜๋‹ค
http://docs.scipy.org/doc/numpy/reference/generated/numpy.rad2deg.html#numpy.rad2deg
numpy์—์„œ.

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/numpy/numpy/issues/5228#issuecomment -60441622.

๋ถˆํ–‰ํžˆ๋„ ๊ตฌํ˜• ์ขŒํ‘œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ทœ์น™์ด ๊ฝค ์žˆ์Šต๋‹ˆ๋‹ค. http://en.wikipedia.org/wiki/Spherical_coordinate_system

์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ํŠน์ • ๊ตฌ๋ฉด ์ขŒํ‘œ ๋ณ€ํ™˜์„ ์ •์˜ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

"์ ์ ˆํ•œ" ํ˜•์‹์ด ๋ฌด์—‡์ธ์ง€ ์ง€์ •ํ•˜๋Š” ISO ํ‘œ์ค€๋„ ์žˆ์Šต๋‹ˆ๋‹ค... ๋ฐ˜ํ™˜๋˜๋Š” ๋‚ด์šฉ์ด ๋ช…ํ™•ํ•˜๊ฒŒ ๋ฌธ์„œํ™”๋˜์–ด ์žˆ๋Š” ํ•œ ์—ฌ๋Ÿฌ ๊ทœ์น™์ด ์‹ค์ œ๋กœ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•œ ๊ทœ์น™์—์„œ ๋‹ค๋ฅธ ๊ทœ์น™์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ง๊ต ์ขŒํ‘œ๋ฅผ ๊ฐ€๋Šฅํ•œ ๊ตฌ ์ขŒํ‘œ ์‹œ์Šคํ…œ ์ค‘ ํ•˜๋‚˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค

๋ฐ˜๋ฉด์— numpy์—์„œ ์ด ํ”ผํŒ…์„ ์†Œ์ˆ˜์˜ ๋…๋ฆฝ ์‹คํ–‰ํ˜• ํ•จ์ˆ˜๋กœ ๋ณด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทน์ขŒํ‘œ๋Š” ํŠนํžˆ ๋ณต์†Œ์ˆ˜์™€ ๊ด€๋ จ์ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ตฌ๋ฉด ์ขŒํ‘œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ธ€์Ž„, ๋‚˜๋Š” ์˜คํžˆ๋ ค ๋‹น์‹ ์—๊ฒŒ ๋™์˜ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ตฌ๋ฉด ์ขŒํ‘œ์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜์ง€ ๋ง™์‹œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทน์ขŒํ‘œ์˜ ๊ธฐ๋Šฅ์€ ๋งŽ์€ ๊ฒฝ์šฐ์— ์ ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

np.linalg.norm ์—๋Š” 5๊ฐ€์ง€ ๋‹ค๋ฅธ ๊ทœ๋ฒ”์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ? ์™œ ๋ช‡ ๊ฐ€์ง€ ์ขŒํ‘œ ๋ณ€ํ™˜์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ต์…˜ ์—†์ด ์ˆ˜ํ–‰ํ•˜๋”๋ผ๋„ ๋‹จ์ˆœ x,y -> r*cos(theta),sin(theta) ๋ฐ ๊ทธ ์—ญํ•จ์ˆ˜์˜ ์œ ์šฉ์„ฑ์— ๋Œ€ํ•œ ์ง„์ง€ํ•œ ๋…ผ์˜๋Š” ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ง์ ‘์ ์ธ ์ขŒํ‘œ ๋ณ€ํ™˜์ด ์•„๋‹ˆ๋ผ๋ฉด ๋†€๋ž„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด์— numpy์—์„œ ์ด ํ”ผํŒ…์„ ์†Œ์ˆ˜์˜ ๋…๋ฆฝ ์‹คํ–‰ํ˜• ํ•จ์ˆ˜๋กœ ๋ณด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทน์ขŒํ‘œ๋Š” ํŠนํžˆ ๋ณต์†Œ์ˆ˜์™€ ๊ด€๋ จ์ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ตฌ๋ฉด ์ขŒํ‘œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์€ ๊ทน์ขŒํ‘œ ๋ณ€ํ™˜์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ ์ค‘๋ฆฝ์—์„œ ๊ธ์ •์ ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ตฌ์ฒด์ ์ธ ์ œ์•ˆ์„ ํ•˜๊ณ  ๊ตฌํ˜„ ์ž‘์—…์„ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํ™˜์˜ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์ƒ๊ฐ:

  • ๊ทน์ขŒํ‘œ์˜ ๊ฒฝ์šฐ์—๋„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ฌธ์„œํ™”ํ•ด์•ผ ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค(๊ฐ๋„ ๋˜๋Š” ๋ผ๋””์•ˆ, ๊ฐ„๊ฒฉ [0, 2pi) ๋˜๋Š” [-pi, pi) ). ๋‚˜๋Š” ์•„๋งˆ [-pi, pi) ์„ ์„ ํ˜ธํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ํ•จ์ˆ˜๋ฅผ ์ตœ์ƒ์œ„ numpy ๋Œ€์‹  numpy.lib ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋„ฃ๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

astropy์—์„œ ์ขŒํ‘œ ๋ณ€ํ™˜์˜ ์†๋„ ํ–ฅ์ƒ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๋ฉด์„œ ์ด๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์œผ๋ฉฐ(https://github.com/astropy/astropy/pull/5735) sincos (#2626) ๋ฐ "exponent ํ—ˆ์ˆ˜"(#5625).

ํ•œ ๊ฐ€์ง€ ์ œ์•ˆ์€ cmath [1]์„(๋ฅผ) ๋”ฐ๋ผ ์‹œ์ž‘ํ•˜์—ฌ np.rect ๋ฐ np.polar ๋ฅผ ์†Œ๊ฐœํ•˜๊ณ  ์ด๋“ค์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(ํ˜„์žฌ ์ด ๋‘ ๊ฐ€์ง€์™€ np.phase ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. cmath ).

[1] https://docs.python.org/3.5/library/cmath.html#conversions -to-and-from-polar-coordinates

์ด๋Ÿฌํ•œ ๋„์šฐ๋ฏธ์˜ 3D ๋ฒ„์ „๋„ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” ์—ฌ๊ธฐ์—์„œ ์ฒ˜์Œ์ด๊ณ  ๋”ฅ ๋Ÿฌ๋‹์— ๋น ์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—์ด ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๊ณ ์ •๋˜์–ด ์žˆ๋Š” USB HD ์นด๋ฉ”๋ผ๋กœ ๋ฌผ์ฒด๋ฅผ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•ด tensorflow๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌผ์ฒด ์ค‘์‹ฌ์˜ ์ขŒํ‘œ๋ฅผ ์–ป๊ณ  ๋กœ๋ด‡์ด ํ•ด๋‹น ์ขŒํ‘œ๋กœ ์ด๋™ํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชฉ์ ์„ ์œ„ํ•ด ์–ด๋–ค ๋ณ€ํ™˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?
๋กœ๋ด‡์—์„œ ๋งค๋‰ด์–ผ๋‹น ๋ฐ์นด๋ฅดํŠธ์ธ XYZ ์ขŒํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. tensorflow, cartesian, pixel ๋˜๋Š” ๋ฌด์—‡์—์„œ ์–ด๋–ค ์ขŒํ‘œ๋ฅผ ์–ป์—ˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌ ํ•ด์š”

@fdkssdks ์ด๋Ÿฌํ•œ ์งˆ๋ฌธ์„ ํ•˜๋Š” ๊ณณ์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค. stackoverflow๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.

๋˜๋Š” ์—ฌ๊ธฐ: Tensorflow API ๋ฌธ์„œ .

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰