소스코드리뷰(XXVIII) 픽쳐박스(PictureBox)와 좌표변환

[목차(도우미)]
소스코드리뷰(XXVIII) 픽쳐박스(PictureBox)와 좌표변환
좌표변환에 관한 내용은 고등학교 수학시간에 충분히 배우기 때문에 더이상 설명이 필요없다. 실용적인 예를 위하여 간단한 수식을 다루어 보기로하자.

PictureBox 에서는 그림을 그릴 영역이 0 <= x <= Width, 0 <= y <= Height인 범위가 된다. 그러나 실제 그래프를 그릴 영역은
x = [a, b], y = [c, d]라고 하자. 그러면 프로그램상에서 좌표변환을 이용하여 PictureBox 좌표계에 그림을 그려주어야 한다.

PictureBox의 Visual Basic 6(VB6)에서는 ScaleMode, ScaleLeft, ScaleTop, ScaleWidth, ScaleHeight를 써서 좌표변환을 신경쓰지 않아도 되었지만 VB.NET으로 오면 ScaleLeft... ScaleHeight가 없기 때문에 직접 좌표변환을 해야 한다.

PictureBox좌표계를 X-Y라 하고 그래프의 좌표계를 x-y라 한다면
X = p(x-a), Y = q(y-c)
p = Width/(b-a), q = Height/(d-c)
굳이 행렬로 표시 한다면



by 금메달.아빠 on 2011. 1. 27. 01:37