epsilon()함수가 정확하게 어떤 함수죠? 그리고 이것이 벡터의 정규화과정으로서 사용될 때에 관하여.
글쓴이: jzqioipst / 작성시간: 월, 2013/03/25 - 8:08오후
아래는 벡터를 정규화하는 함수인데 epsilon()이 사용되는 부분에서 대체 뭔말인지 모르겠네요.
구글링해보면 정적분같은 수학적 용어들 위주로 나오고, 간혹 double과 float같은 경우 표현될 수 있는 어떤 오차값에 대해 다루는 함수라고
간략하게 설명이 나오긴 하는데 명확하게 무엇인지 모르겠고 이와 같은 상황에서 어떤식으로 쓰인 건지도 모르겠네요.
inline Vector2D Vec2DNormalize(const Vector2D &v) { Vector2D vec = v; double vector_length = vec.Length(); if (vector_length > std::numeric_limits<double>::epsilon()) { vec.x /= vector_length; vec.y /= vector_length; } return vec; }
우둔한 저에게 깨달음의 자비를 베풀어 주실분...
Forums:
아...
아... epsilon()으로 여기서 다른 게시물들 검색해보니 대충 알 것 같군요.
double형이 가질 수 있는 최대 오차값 정도가 될 것이고
vector_length > std::numeric_limits::epsilon()
이것은
vector_length > 0
정도로 해석해도 무방할 듯 하군요.;;
다음부턴 좀 더 신중히 검색해보고 질문 올리겠습니다.
그런데 이 사이트에서는 게시물 삭제나 수정이 안되는 것인가요?
epsilon은 epsilon-delta
epsilon은 epsilon-delta method를 찾아보시면 개념에 도움이 되실 것 같습니다.
http://en.wikipedia.org/wiki/(%CE%B5,_%CE%B4)-definition_of_limit
machine epsilon이라고 하는 녀석입니다.
machine epsilon이라고 하는 녀석입니다.
http://en.wikipedia.org/wiki/Machine_epsilon
참고하세요.
댓글 달기