2012-05-24 4 views
2

일부 지오메트리를 이미지에 플로팅합니다. 문제는 좌표가 수레로 나오므로 좌표를 그릴 수 없다는 것입니다. 주위의 일터로서 저는 floor()를 사용하고 있습니다; 그것을 가장 가까운 Integer로 자른다. 어떤 경우에는 제대로 작동하지만 이미지가 조금씩 바뀌는 점이 다릅니다. 이미지에서 부동 소수점 좌표 값을 처리하는 방법

x=9.7 

    x'=floor(x)= 9 //the plot is now at 9 and not at 9.7 as desired, (this is 'shift') 

하지만 내 요구 사항은 내가 교대로 문제에 직면하고있다 동일한 거리 여러 모양을 그릴하는 경우

() 때문에 바닥 (의는) 각 모양에 대한 균일하지 않다.
디지털 통신의 양자화 잡음과 비슷합니다.

이 문제를 해결할 수있는 방법이 있습니까?

+0

이것은 디지털 통신의 양자화 잡음과 같지 않습니다 * 디지털 통신의 양자화 잡음입니다 *. 영숫자 (?)로 반올림 방법을 선택하면 상황에 미치는 영향을 최소화 할 수 있지만 f-p 번호를 정수로 반올림하는 방법으로이 문제가 발생합니다. –

+0

안티 앨리어싱 사용 – Spektre

답변

3

이 문제는 실제로 컴퓨터 그래픽에서 매우 일반적인 문제입니다. Rasterisation은 현재 고심하고있는 문제 도메인입니다. Bresenham's line algorithm이 주제에 대한 좋은 소개를 찾을 수 있습니다. Here은 몇 가지 서로 다른 래스터 화 알고리즘이있는 멋진 대화 형 사이트입니다.

희망 하시겠습니까?

+0

+1 [GL_LINEAR 대 GL_NEAREST] (http://manticore.deadmediafm.org/2011/05/opengl-texture-difference-between-gl_linear-and-gl_nearest/) 토론을 상기시켜줍니다. OpenGL에 있습니다. [이 페이지] (http://www.flipcode.com/archives/Advanced_OpenGL_Texture_Mapping.shtml)도 훌륭하고 GL_NEAREST가 * Manhattan distance *를 사용한다고 언급합니다. – karlphillip

+0

해결 방법을 찾았습니다. 그것은 내 경우에만 적용됩니다. 나중에 업데이트해야합니다. – gpuguy