์œก์‹ญ๋ถ„๋ฒ•(๋ผ๋””์•ˆ) 0(0) 30(∏/6) 45(∏/4) 60(∏/3) 90(∏/2)
sin 0 1/2 √2/2 √3/2 1
cos 1 √3/2 √2/2 1/2 0
tan 0 √3/3 1 √3

โ€ป 360หš = 2∏

 

1. Math.toRadians(double angdeg) : ์œก์‹ญ๋ถ„๋ฒ• → ๋ผ๋””์•ˆ, doubleํ˜• ๋ฐ˜ํ™˜

doubleํ˜•์œผ๋กœ์ธํ•ด ์˜ค์ฐจ๊ฐ€ ์žˆ์Œ.

Math.toRadians(0);	// 0.0
Math.toRadians(30);	// 0.5235987755982988 (∏/6 ์„ ๊ณ„์‚ฐ)
Math.toRadians(45);	// 0.7853981633974483 (∏/4 ์„ ๊ณ„์‚ฐ)
Math.toRadians(60);	// 1.0471975511965976 (∏/3 ์„ ๊ณ„์‚ฐ)
Math.toRadians(90);	// 1.5707963267948966 (∏/2 ์„ ๊ณ„์‚ฐ)

 

2. Math.toDegrees(double angrad) : ๋ผ๋””์•ˆ  → ์œก์‹ญ๋ถ„๋ฒ•, doubleํ˜• ๋ฐ˜ํ™˜

doubleํ˜•์œผ๋กœ์ธํ•ด ์˜ค์ฐจ๊ฐ€ ์žˆ์Œ.

Math.toDegrees(Math.PI/6);	// 29.999999999999996
Math.toDegrees(Math.PI/4);	// 45.0
Math.toDegrees(Math.PI/3);	// 59.99999999999999
Math.toDegrees(Math.PI/2);	// 90.0

 

3. Math.sin(double a) : sin ๊ฐ’, ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ผ๋””์•ˆ ๊ฐ’์„ ๋„˜๊ฒจ์ค˜์•ผ ํ•จ

Math.sin(0);		// 0.0
Math.sin(Math.PI/6);	// 0.49999999999999994
Math.sin(Math.PI/4);	// 0.7071067811865475
Math.sin(Math.PI/3);	// 0.8660254037844386
Math.sin(Math.PI/2);	// 1.0

 

4. Math.cos(double a) : cos ๊ฐ’, ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ผ๋””์•ˆ ๊ฐ’์„ ๋„˜๊ฒจ์ค˜์•ผ ํ•จ

Math.cos(0);		// 1.0
Math.cos(Math.PI/6);	// 0.8660254037844387
Math.cos(Math.PI/4);	// 0.7071067811865475
Math.cos(Math.PI/3);	// 0.5000000000000001
Math.cos(Math.PI/2);	// 6.123233995736766E-17

Math.cos(Math.PI/2) ์˜ ๊ฐ’์ด 0์ด ์•„๋‹Œ 6.123233995736766E-17 ๊ฐ’์ด ๋‚˜์™”๋‹ค๊ณ  ํ•ด์„œ ์ฐพ์•„๋ดค๋Š”๋ฐ

6.123233995736766E-17 ์€ 6.12323399573676 X e^(-17) ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ 0์— ๊ฐ€๊นŒ์šด ์ˆ˜๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

double ํ˜• ์˜ค์ฐจ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฐ๊ฑฐ ๊ฐ™์€๋ฐ... 0์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค....

 

๋” ์ž์„ธํ•œ ๊ฑด ์•„๋ž˜์˜ ์‚ฌ์ดํŠธ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

https://stackoverflow.com/questions/9652695/why-does-math-cos90-math-pi-180-yield-6-123031769111-and-not-zero

 

Why does Math.cos(90 * Math.PI/180) yield 6.123031769111... and not zero?

I convert degrees to radians (degrees * Math.PI/180) but why does the following: Math.cos(90 * Math.PI/180) yield 6.123031769111... and not zero? I'm trying to perform 2D rotations uses matrixes...

stackoverflow.com

 

5. Math.tan(double a) : tan ๊ฐ’, ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ผ๋””์•ˆ ๊ฐ’์„ ๋„˜๊ฒจ์ค˜์•ผ ํ•จ

Math.tan(0);		// 0.0
Math.tan(Math.PI/6);	// 0.5773502691896257
Math.tan(Math.PI/4);	// 0.9999999999999999
Math.tan(Math.PI/3);	// 1.7320508075688767
Math.tan(Math.PI/2);	// 1.633123935319537E16

Math.tan(Math.PI/2) ์˜ ๊ฒฐ๊ณผ๊ฐ’๋„ ๋ณด๋ฉด 1.633123935319537 X e^(16) ์ด๋ฏ€๋กœ ๋งค์šฐ ํฐ ์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค...

 

 

 

์—ญ์‚ผ๊ฐํ•จ์ˆ˜

  • sin(30หš) = 1/2    โ˜ž    30หš = sin^(-1) (1/2)    โ˜ž    30หš = arcsin(1/2)
  • cos(30หš) = √3/2    โ˜ž    30หš = cos^(-1) (√3/2)    โ˜ž    30หš = arccos(√3/2)
  • tan(30หš) = √3/3    โ˜ž    30หš = tan^(-1) (√3/3)    โ˜ž    30หš = arctan(√3/3)

๋‘ ๋ณ€์„ ์ด์šฉํ•ด์„œ ๊ฐ๋„๋ฅผ ๊ตฌํ•  ๋•Œ ์“ฐ๋Š” ๋“ฏ...?

 

6. Math.asin(double a) : arcsin ๊ฐ’, ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋น—๋ณ€ / ๋†’์ด

Math.asin(0);		// 0.0 (0๋„)
Math.asin(Math.sqrt(1)/2);	// 0.5235987755982989 (30๋„)
Math.asin(Math.sqrt(2)/2);	// 0.7853981633974484 (45๋„)
Math.asin(Math.sqrt(3)/2);	// 1.0471975511965976 (60๋„)
Math.asin(Math.sqrt(4)/2);	// 1.5707963267948966 (90๋„)

 

7. Math.acos(double a) : arccos ๊ฐ’, ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋น—๋ณ€ / ๋ฐ‘๋ณ€

Math.acos(0);		// 1.5707963267948966 (90๋„)
Math.acos(Math.sqrt(1)/2);	// 1.0471975511965976 (60๋„)
Math.acos(Math.sqrt(2)/2);	// 0.7853981633974484 (45๋„)
Math.acos(Math.sqrt(3)/2);	// 0.5235987755982989 (30๋„)
Math.acos(Math.sqrt(4)/2);	// 0.0 (0๋„)

 

8. Math.atan(double a) : arctan ๊ฐ’, ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋†’์ด / ๋ฐ‘๋ณ€

Math.atan(0);		// 0.0 (0๋„)
Math.atan(Math.sqrt(3)/3);	// 0.5235987755982988 (30๋„)
Math.atan(Math.sqrt(9)/3);	// 0.7853981633974483 (45๋„)
Math.atan(Math.sqrt(27)/3);	// 1.0471975511965979 (60๋„)
Math.atan(Long.MAX_VALUE);	// 1.5707963267948966 (90๋„)

 

9. Math.atan2(double y, double x) : arctan ๊ฐ’, ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ขŒํ‘œ๋ฅผ ์ „๋‹ฌ(์›์ ๊ณผ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ขŒํ‘œ ๋‘ ์ ์„ ๊ธฐ์ค€์œผ๋กœ arctan ๊ฐ’์„ ๋ฐ˜ํ™˜)

// y๊ฐ’์ด ์ฒซ๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ, x๊ฐ’์ด ๋‘๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ!!!
Math.atan2(Math.sqrt(0), 3);	// 0.0 (0๋„)
Math.atan2(Math.sqrt(3), 3);	// 0.5235987755982988 (30๋„)
Math.atan2(Math.sqrt(9), 3);	// 0.7853981633974483 (45๋„)
Math.atan2(Math.sqrt(27), 3);	// 1.0471975511965979 (60๋„)
Math.atan2(Long.MAX_VALUE, 3);	// 1.5707963267948966 (90๋„)

 

728x90

'JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JAVA] PrintWriter์˜ write()์™€ print() ์ฐจ์ด์   (0) 2022.03.23
[JAVA] ์ž๋ฐ” ๋ฐฐ์—ด ์ •๋ ฌ(Comparable, Comparator)  (0) 2022.01.27
[JAVA] ์ž๋ฐ” LinkedList  (0) 2022.01.26
[JAVA] ์ž๋ฐ” ArrayList  (0) 2022.01.26

BELATED ARTICLES

more