2014-09-25 7 views
1

2d 그래픽 이산 데이터 세트로 코딩되어 있는지 궁금합니다. 필자에게 컴퓨터는 이산 세트로 작동하기 때문에 그래픽으로 동일한 작업을 수행하는 것이 더 바람직 할 것입니다.이산 모델링을 사용한 그래픽 : 더 빠름?

예를 들어, 두 벡터로 표현되는 선을 가지지 않고 컴퓨터가 픽셀 구성을 정렬 한 다음 대수적으로 선의 점과 같은 것을 결정해야하는 대신에 다음과 같이 개별적인 방식으로 선을 나타내야합니다. x와 y 좌표와 유한 길이가있는 3 차원 배열?

데이터 위치를 참조하기 위해 간단한 개별 연산을 사용하는 대신 메모리를 낭비하지 않도록이 데이터를 모두 초기화하도록 성능을 향상시키지 않습니까? 따라서 라인의 경우 y = 4 일 때 x를 찾는 대신 단순히 [3] 라인을 사용하지 않는 것이 어떻습니까?

내 질문은 : 이런 방식으로 데이터를 처리하는 것이 더 빠르다면 그렇다면이 유형의 컴퓨팅을 최적화하는 가장 좋은 방법은 무엇일까요?

+0

일반적으로 스마트 프로그래머는 수행해야하는 처리에 적합한 데이터 표현을 선택합니다. –

+0

라인 [3.5]를 원하면 어떻게해야합니까? 우리는 절반 단계를 커버하기 위해 어레이를 확장해야합니다. 이제 라인 [3.25]을 원하면 어떻게 될까요? 반복. – Conduit

+0

각 단위가 1 픽셀을 나타내는 것으로 가정합니다. 따라서 사이에는 아무 것도 없습니다. – stackoverflow909

답변

0

사실상 물리 및 선 (게임, 시공, 시각화 등)이 포함될 때마다 선이 무엇인가와 교차하는지 여부를 묻습니다. 이산 라인 접근 방법을 사용하면 픽셀을 공유하지 않기 때문에 두 라인이 교차하지 않는 상황을 쉽게 이해할 수 있습니다. 그냥 예를 들어 : 당신이 수학을 할 때

x x 
x x 
    xx 
    xx 
x x 
x x 

, 당신은 픽셀 비전을 제한 할 경우, 거의 모든 상황에서 재치있는 대답을 얻을 것이다 죽은 확신 할 수, 당신은 실수를 할 운명.

또한 방정식 ax + by = c은 무한대까지 모든 2D 라인을 설명하지만 임의의 이산 표현은 동일한 일반성을 달성하기 위해 많은 번거 로움을 필요로합니다.

셋째, 두 개의 2D 선이 수학적으로 교차하는 경우 짧은 시간 내에 응답을 얻을 수 있습니다. 그러나 접근 방식은 검색이 필요하므로 알고리즘의 복잡성이 수학적 접근 방식보다 나쁩니다.

이산 접근법은 단순히 효과가 없습니다. 프로그램의 복잡성이나 속도의 측면에서.