2010-06-14 5 views
1

두 점을 연결하는 선을 그릴 필요가 있습니다.직선 두 점 사이의 방정식

나는 Java에서 이것을하고있다. 매개 변수로 두 점을받습니다. 그리고 그 사이에 직선이 검은 그림 안에 있는지 계산해야합니다.

직선 수식을 사용하여 직접 솔루션을 개발했지만 내 결과는 김프 또는 MS 그림판과 같은 "전문적인"프로그램을 사용하는 것과 다릅니다. 여기

내가 원하는 무엇의 예입니다

alt text http://img411.imageshack.us/img411/788/img1q.png

하지만 내 알고리즘이 수행합니다

alt text http://img267.imageshack.us/img267/1908/img2d.png

* 녹색 점은 그림에서이고이 아니다 가능한.

아이디어가 있으십니까? 누구든지이 코드를 "전문적인"응용 프로그램에서 사용하고 있는지 알고 있습니까?

감사합니다. 다니엘.

편집 : 이미지

+0

이미지가 보이지 않습니다. –

+0

Daniel. 이 질문은 실제로 대답 할 수 없습니다. 우리에게 충분한 정보를주지 않았기 때문에이 질문은 아마도 닫힐 것입니다. 이런 일을 막으려면 질문을 편집하고 사용중인 기술 (운영 체제 및 개발 도구)을 알려주고 정확하게 무엇을하려고하는지 (예 : 그리는 선을 어떻게 정의 할 수 있습니까?) ? 포인트 목록으로?) –

+0

또한 어떤 알고리즘을 사용하고 있습니까? –

답변

3

가장 가까운 픽셀로 반올림하는 대신 자르는 것처럼 보입니다. 작은 검은 색 잉크 얼룩에보기가 어려움. 코드를 게시 할 수 있습니까?

+1

실제로. 알고리즘에서 3 개의 세그먼트 대신 2 개의 선분이있을 것으로 예상하는 것처럼 보입니다. 너의 dx/dy가 맞습니까? (감안할 때, 당신은 둥근 것을 감안할 때). – berkus

+0

와우! 피터 너는 천재 야! 정수를 사용하고 있는데 문제가있었습니다! 감사합니다. :디 – dafero

1

봐 보통 Bresenham의 알고리즘을 사용하여 그려집니다. 나는 녹색 점에 대한 당신의 요점을 그림 밖으로 벗어나지 못했습니다. 가시 영역 밖에서 그림을 그리는 시간을 낭비하지 않기 위해서 클리핑이 있습니다.

1

Straignt 라인에서

+0

피터가 내 의심을 해결했지만 어쨌든 정보에 감사드립니다! – dafero

관련 문제