2009-12-22 4 views
0

http://pastie.org/752941C : I는 DY 나눌 때

LNF 이중 출력하여 이중 분할은 /는 LNF 반환 DX. 이것이 무엇을 의미하고 어떻게하면 dy/dx의 실제 결과를 찾을 수 있는지 말해주십시오. 감사.

+2

실제 결과는 INF 일 수 있습니다. 왜 그렇지 않습니까? 합법적 인 번호입니다. –

+0

dy = 1 (예 :) 및 dx = 0 인 경우 수직선 인 경우 실제 결과가 어떨까요? –

+0

0으로 나누지 않습니까? 'dy = 1; dx = 0; dy/dx; –

답변

1

Inf = 무한대. dx가 0이므로 0으로 나눕니다. 유효 할 수 있습니다. 예 : 수직선.

기울기를 계산하기 전에 dx에 원하는 값이 있는지 확인하십시오.

5

0으로 나누면 (또는 충분히 작은 수) 부동 소수점 표기법으로 결과를 표현할 방법이 없습니다. 이 경우 무한대 중 하나를 얻습니다 (+ Inf 또는 -Inf).

예를 들어, IEEE754 double로 표현할 수있는 최대 숫자가 이미 있고 이것을 0.1로 나누면 (즉, 10을 곱하면) + Inf가됩니다.

IEEE754는 +/- 무한대와 NaN (숫자가 아님)과 같은 특수 값에 비트 패턴 중 일부를 할당합니다.

저는 오래 전 컴퓨터에서 선을 (그라디언트, y 교차) 쌍으로 표현하려고 시도를 멈췄습니다. 머리 부분의 무한대로 계산할 수 있으므로 종이에는 괜찮습니다. 라인을 (x1, y1, x2, y2) 4 튜플로 표현함으로써 무한의 번거 로움을 피할 수 있습니다. 선분을 그런 식으로 표현하면 모든 그라디언트에 대해 매우 잘 작동하는 알고리즘을 찾을 수 있습니다.

그렇지 않으면 그라디언트를 계산할 때 오버플로를 일으키는 수직선 근처에 항상 특별한 처리가 필요합니다.

관련 문제