본문 바로가기

분류 전체보기14

한 점에서 직선에 가장 가까운 좌표 구하기 개념 평면 상에서 좌표를 알고 있는 한 점에서 두 점의 좌표를 알고있는 직선에 가장 가까운 위치의 좌표를 구하는 방법을 알아본다. 먼저 한 점이 직선에 이르는 가장 가까운 위치는 해당 점에서 직선까지 수선을 내렸을 때 교차하는 지점이다. 따라서 해당 지점을 구하기 위해서는 직선에 수직이면서 한 점(C 지점)을 지나는 새로운 직선과 원래 존재하던 직선의 교점을 구하면 된다. 풀이 A,B점을 포함하는 직선과 수직인 직선의 기울기는 A, B점의 기울기의 역수의 음의 값이다. 먼저 A,B 점을 포함하는 직선의 기울기 a 는 아래와 같다. 해당 값의 역수의 음수 값이 A, B 점을 포함하는 직선에 수직인 직선의 기울기가 된다. 해당 값과 해당 직선의 방정식은 아래와 같다. 해당 직선은 한 점 C를 지나기 때문에 .. 2023. 2. 18.
한 직선에 수직인 직선의 기울기 개념 평면상에서 직선의 방정식을 알고 있는 직선에 수직인 직선의 기울기를 구하는 방법을 확인한다. 삼각형의 닮은 꼴로 해당 문제를 확인한다. 아래 그림에서 a,b값은 알고 있는 값이고, c,d값은 해당 직선에 수직인 직선의 방정식을 나타낸다. 풀이 먼저 직선의 방정식을 알고 있는 직선의 기울기를 가진 선분을 이용해 직각 삼각형을 그려준다. 해당 삼각형에서 선분 AB의 기울기는 a와 같다. AD:DB의 비율은 선분 AB가 a의 기울기를 가지고 있으므로 a:1로 나온다. 여기서 삼각형 ABD와 삼각형 BCD는 3각의 각이 같은 닮은 꼴 삼각형이기 때문에 길이에 대한 비율이 같다. 따라서 BD:DC 의 비율도 a:1의 비율을 가진다. 구하고 싶은건 AB 선분의 기울기에 수직인 기울기이기 때문에 해당 삼각형의 .. 2023. 2. 18.
2점을 지나는 직선의 방정식 평면상에서 2점을 지나는 직선의 방정식은 하나만 존재한다. 해당 직선의 방정식은 기본적인 직선의 방정식에 각 좌표를 넣어서 연립방정식을 풀어서 구할 수 있다. 해당 식을 정리해서 a와 b값을 구하면 아래와 같은 값을 가지고 그로 인한 직선 방정식은 아래와 같다. 여기서 주의할 점은 x1의 값과 x2의 값이 같은 경우(직선이 y축과 평행한 경우)인데, 해당 경우는 x와 y를 변경하여 직선의 방정식을 다시 세우면 된다. 이 경우엔 반대로 y1의 값과 y2의 값이 같은 경우 위의 직선의 방정식을 이용하면 된다. 2023. 2. 15.
3점을 지나는 원의 방정식 동일한 직선상에 있지 않은 3점을 지나는 원은 단 하나만 존재한다. 해당 원을 방정식으로 풀이하는 방법에는 대표적으로 2가지 방법이 존재한다. 각각의 점이 원의 중심으로부터 떨어진 거리가 모두 같음을 이용하는 방식 원이 지나는 3점은 각각이 원 위에 있는 점이기 때문에 원의 기본적인 특성인 한 점으로 부터 같은 거리에 있는 점들의 모임을 만족한다. 따라서 원의 중심으로부터 각 점에 이르는 거리는 모두 같다. 이 특성을 이용한 방식이다. 위와 같은 상황에서 원의 중심과 점 사이의 거리 R1, R2, R3를 각각 식으로 표현하면 아래와 같다. 여기서 R1, R2, R3는 모두 원의 반지름이기 때문에 동일한 값을 가진다. 연립방정식을 세워서 풀게되면 Xc, Yc의 값을 구할 수 있다. 해당 값들은 아래와 같다.. 2023. 2. 15.
C# List<T> 리스트를 특정 조건에 맞추어 정렬하는 방법 C#에서 리스트를 정렬하는 방법에는 List.Sort()라는 기본 매서드가 존재한다. 해당 매서드는 크기비교가 가능한 형식이 리스트에 들어가 있을 경우에만 사용이 가능하다. List 내의 클래스 안에 들어있는 데이터를 이용해서 정렬하는 방법이 필요할 경우에 사용할 수 있는 방법은 아래에 있는 코드를 통해서 사용 가능하다. 아래의 코드는 RandomPoints라는 Point 클래스의 리스트를 Point 안의 Distance값의 오름차순으로 정렬한 예시이다. if 문 안의 부호를 반대로 변경하면 Distance 값의 내림차순으로 정렬을 할 수 있다. using System; using System.Collections.Generic; List RandomPoints; public class Point { p.. 2023. 2. 15.
들로네 삼각분할 (Delaunay Triangulation) 개념 설명 임의의 점들을 삼각형의 형태로 연결하는 분할로, 각각의 삼각형의 내각 중 최대값이 최소값이 되도록 분할하는 방식이다. 해당 분할을 통해서 최대한 정삼각형에 가까운 삼각형의 형태로 삼각분할을 할 수 있어, 비교적 고른 형태(거리가 가까운 점들끼리 연결)로 점들을 연결할 수 있다. 각각의 삼각형에 외접하는 외접원은 삼각형에 해당하는 점들을 제외한 다른 임의점이 속하지 않는 특징을 가진다. 임의점들을 가지고 평면을 구성할 수 있기에 영상처리 기법에 많이 사용된다. 들로네 삼각분할 구현 들로네 삼각분할을 구현하는 알고리즘에는 여러 가지 방법이 있다. - Incremental 알고리즘 사각형을 삼각형으로 나누는 분할 2가지 중 한 가지는 무조건 들로네 삼각분할 법칙을 만족하는 특성을 이용 - Divid.. 2023. 2. 13.