Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 보다 강력한 암호화 운용방식을 지원하기 위해서 '자바 암호화 확장'을 다운받아 설치해야 하는데, 이전까지는 local_policy.jar , US_export_policy.jar 두 개의 파일을 <java-home>/lib/security 폴더에 저장해두는 방식이었다. 그러나, 자바 8 151 버전 이후부터는 폴더 구조가 변경되어 <java-home>/lib/security/policy 폴더가 생겼으며 그 안에 limited 와 unlimited 폴더가 있고 각각 local_policy.jar , US_export_policy.jar 두 파일이 존재하므로 오라클 사이트에서 다운로드 받을 필요가 없어졌다. 그리하여, 새로운 활성화 방법은 <java-home>/lib/security/java.security 파일을 열어 826번째 줄에서 crypto.policy=unlimited 의 주석 처리 부분을 제거한다. 또는, 자바 소스 코드에서 Security. setProperty ( "crypto.policy" , "unlimited" ) ; 라고 지정해 줄 수도 있다. 추가하여, 자바 9부터는 기본적으로 unlimited strength가 활성화되어 있다고 한다.
아래 그림에서와 같이, 원래의 좌표를 (x, y)라 하고, y축으로부터의 각도를 θ라고 하자. 또, 회전 시키고자하는 각도를 δ라 하고, 회전된 좌표를 (x', y')라고 한다. 이 때, 회전의 기준점과 원래의 좌표 사이의 거리를 r이라고 하면, 회전된 이후의 좌표와 회전 기준점 사이의 거리 또한 r로써 동일하다. 수식으로 정리하면, x = r sinθ y = r cosθ x' = r sin(θ+δ) y' = r cos(θ+δ) 삼각함수의 덧셈정리 를 이용하여 x'와 y'를 풀어보면, x' = r (sinθ cosδ + cosθ sinδ) = r sinθ cosδ + r cosθ sinδ y' = r (cosθ cosδ - sinθ sinδ) = r cosθ cosδ - r sinθ sinδ x = r sinθ, y = r cosθ이므로, x' = x cosδ + y sinδ y' = y cosδ - x sinδ δ가 반시계방향인 경우에는, x' = x cosδ - y sinδ y' = y cosδ + x sinδ 라는 수식으로 정리될 수 있다. 이렇게 구한 공식을 도형의 각 꼭지점에 대해서 적용하면 회전 이동한 도형을 구할 수 있다. public void rotateBy ( float d , float x0 , float y0) { float dX = x - x0 ; float dY = y - y0 ; double rad = Math . abs ( Math . toRadians (d)) ; float cosD = ( float ) Math . cos (rad) ; float sinD = ( float ) Math . sin (rad) ; if (d>= 0 ) { x = dX * cosD + dY * sinD ; y = dY * cosD
댓글
댓글 쓰기