NoninvertibleTransformException 클래스

NoninvertibleTransformException 클래스

NoninvertibleTransformException 클래스는 AffineTransform 객체의 역변환이 필요한 연산을 수행할 때, 그 AffineTransform이 역변환 불가능한 상태일 때 던져지는 예외를 나타내요.

출처: Java API Reference

본문

AffineTransform.inverse()createInverse() 같은 메서드를 호출했을 때, 행렬의 행렬식(determinant)이 0이어서 역행렬이 존재하지 않으면 이 예외가 발생해요. 이런 상태는 예를 들어 스케일이 0인 변환(한 축을 완전히 눌러 없앤 경우)이나 특정 퇴화 변환에서 나타날 수 있어요.

public class NoninvertibleTransformException
extends Exception

주요 생성자

  • NoninvertibleTransformException(String s) — 지정한 상세 설명으로 예외를 만들어요.

사용 참고

역변환은 이론적으로 항상 가능하지만, 부동소수점 수치 문제 때문에 행렬식이 0이거나 매우 작아 수치적으로 불안정하면 실패할 수 있어요. 이 예외는 체크 예외라서 반드시 처리하거나 던져야 해요.

관련

AffineTransform에는 getDeterminant() 메서드가 있어서, 역변환 전에 행렬식이 0인지 확인해 예외를 피할 수 있어요.

더 알아보기