- CVI 정보나눔(www.cvi.kr)
- 스터디
- 개발메모
개발메모(형식에 매이지 않는 짤막한 개발 낙서)
글 수 173
가정:
시작점: f1
끝점: f2
포인트수: numPoints
Linear Scale로 numPoints 등분하려면 ---------------------------
delta = (f2 - f1) / (numPoints - 1);
을 계산하여
index를 0 ~ numPoints-1 까지 증가시킬 때,
f = f1 + delta * index;
로 계산하면 정확합니다.
(delta를 매 루프마다 더해나가는 것은 미세한 오류가 누적될 수 있으므로, 매 index 마다 위와 같이 계산하는 것이 좋음)
Log Scale로 numPoints 등분하려면 ------------------------------
deltalog10 = ( log10(f2) - log10(f1) ) / (numPoints - 1);
을 계산하여,
루프문에서 index를 0 ~ numPoints-1 까지 증가시킬 때,
f = pow(10.0, log10(f1) + deltalog10 * index);
로 계산하면 됩니다.
----------------------------------------------------------------
차원높은 프로그래밍을 하려면, 역시 수학을 잘해야겠습니다.
학생 여러분, 수학을 즐겨합시다.
하지만, 저처럼 수학을 잘하지 못하면,
애써 궁리한 것을 이렇게 메모라도 잘합시다.ㅎㅎ
시작점: f1
끝점: f2
포인트수: numPoints
Linear Scale로 numPoints 등분하려면 ---------------------------
delta = (f2 - f1) / (numPoints - 1);
을 계산하여
index를 0 ~ numPoints-1 까지 증가시킬 때,
f = f1 + delta * index;
로 계산하면 정확합니다.
(delta를 매 루프마다 더해나가는 것은 미세한 오류가 누적될 수 있으므로, 매 index 마다 위와 같이 계산하는 것이 좋음)
Log Scale로 numPoints 등분하려면 ------------------------------
deltalog10 = ( log10(f2) - log10(f1) ) / (numPoints - 1);
을 계산하여,
루프문에서 index를 0 ~ numPoints-1 까지 증가시킬 때,
f = pow(10.0, log10(f1) + deltalog10 * index);
로 계산하면 됩니다.
----------------------------------------------------------------
차원높은 프로그래밍을 하려면, 역시 수학을 잘해야겠습니다.
학생 여러분, 수학을 즐겨합시다.
하지만, 저처럼 수학을 잘하지 못하면,
애써 궁리한 것을 이렇게 메모라도 잘합시다.ㅎㅎ