점을 통과하는 그려진 선 - (x1, y1), (x2, y2)
이제 동일한 길이의이 선에 수직 인 다른 선을 그려 보겠습니다. 캔버스 위의 주어진 선에 수직선 그리기
1
A
답변
2
을 잘, 그것은 간단한 수학이다 :
는int dx = x2 - x1;
int dy = y2 - y1;
int ox,oy; // Origin of new line
//...
drawLine(ox, oy, ox+dy, oy-dx) // This line will be perpendicular to original one
당신이 할 수있는 일은 원점을 선택하는 것입니다. 당신은 선이 그 중심에 인하 것을 원하는 경우 예를 들어 보자 : (X2, Y2) (X1, Y1) (으)로부터 벡터와 같은 라인의
ox = x1 + (dx - dy)/2;
oy = y1 + (dx + dy)/2;
3
생각합니다. 그런 다음 우리는
vX = x2-x1
vY = y2-y1
면에서이뿐만 수직 동일한 크기의 벡터가에 따라 x와이 벡터의 Y 구성 요소를 얻을 x와 y 구성 요소
vXP = -(y2-y1)
vYP = x2-x1
당신이 확인할 수 있습니다 2 개의 벡터는 0이 될 2 개의 벡터의 스칼라 곱을 취하여 수직입니다. 이제 길이가 같고 첫 번째 벡터에 수직 인 벡터가 생겼으므로 선의 시작점을 결정하기 만하면됩니다. 우리는 그것을 (a, b)라고 부를 것입니다. 그런 다음 시작 지점을 사용하여 선의 끝점은
(a - (y2-y1), b + (x2-x1))
에 의해 주어진다 또는 당신이 (수직 여전히) 반대 방향으로 가리 키도록하려는 경우가있을 것입니다
(a + (y2-y1), b - (x2-x1))
관련 문제
- 1. 수직선 그리기
- 2. 캔버스 위의 Android EditText
- 3. 안드로이드 - 캔버스 위의 이미지
- 4. 추상 캔버스 그리기
- 5. 캔버스 그리기 .. 이상한 동작
- 6. Html5 캔버스 그리기 문제
- 7. 캔버스 그리기 정확도 문제
- 8. Html5 캔버스 다시 그리기
- 9. HTML 캔버스 - 곡선 화살표 그리기
- 10. 하나 더 만들기 캔버스 그리기
- 11. 페이지에서 JS를 실행하여 캔버스 그리기
- 12. GWT 캔버스 2D 그리기 이미지
- 13. 캔버스 태그 그리기 선 문제 ....
- 14. HTML5 캔버스 그리기 및 업데이트
- 15. 30fps의 Android 캔버스 다시 그리기
- 16. 자바 스크립트를 사용하여 HTML5 캔버스 다시 그리기
- 17. dhtmlxScheduler의 수직선
- 18. 주어진 지점에 캔버스 중심 맞추기
- 19. 위의 선 그리기 Mapkit : 잘못된 지역 오류
- 20. 각도 위의 주어진 점을 회전시켜 그림을 그립니다.
- 21. 여러 HTML 캔버스 그리기 중 마지막 HTML 캔버스 만 그립니다.
- 22. Android 캔버스 그리기 선 - 두꺼운 선 만들기
- 23. 빈 비트 맵을 만들고 안드로이드에 캔버스 그리기
- 24. Android : 캔버스 그리기, drawARGB 및 drawColor
- 25. 자유형 그리기 캔버스 (모양 포함) Java
- 26. Android 페인트/캔버스 문제. 부드러운 곡선 그리기
- 27. HTML5 캔버스 그리기 나는 캔버스에 사각형을 만들려고
- 28. 터치 그리기 이벤트 및 HTML5 캔버스
- 29. 사용자 그리기 나는이 같은 XML 레이아웃을 캔버스
- 30. HTML5 캔버스, 그리기 후 이미지 크기 조절