Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- MedicalAI
- 썰풀이
- 의료AI
- al-folio
- sudo apt install
- 우분투
- Jekyll
- 미국 박사 궁금증
- 미국 대학원 준비 타임라인
- 우분투 오류 해결
- 미국 대학원
- 미국 유학
- 원격 서버 파일 다운 받기
- sudo apt-get update
- 미국 대학원 준비
- github.io
- 파이썬
- 대학원 랭킹
- MLB 경기 관람
- ai 랭킹
- 개인홈페이지
- cs 랭킹
- 미국 대학원 진학
- 의료인공지능
- 미국 석사
- 티스토리 행렬 오류
- 파이썬 시각화
- 수학
- 수학to파이썬
- error
Archives
- Today
- Total
Yehyun Suh
[수학 to 파이썬] 파이썬으로 두 직선의 교차점 구하기 본문
4개의 점으로 이루어진 두 직선 사이의 교차점 구하기
1. 선의 기울기 및 방정식 구하기
$$y = \frac{y_2-y_1}{x_2-x_1}(x-x_1)+y_1 = m_1(x-x_1)+y_1, \text{ where } m_1=\frac{y_2-y_1}{x_2-x_1}\\y = \frac{y_4-y_3}{x_4-x_3}(x-x_3)+y_3 = m_2(x-x_3)+y_3, \text{ where } m_2=\frac{y_4-y_3}{x_4-x_3}$$
점 $(x_1,y_1)$ 과 $(x_2,y_2)$, 그리고 $(x_3,y_3)$와 $(x_4,y_4)$를 지나는 선을 구하고, 각 선의 기울기를 $m_1$과 $m_2$로 정의한다.
2. 두 선의 교차점 구하기
두 선이 서로 만나는 교차점을 구하기 위해 $y$에 식을 대입한다.
$$m_1(x-x_1)+y_1= m_2(x-x_3)+y_3\\m_1x-m_1x_1+y_1 = m_2x-m_2x_3+y_3\\(m_1-m_2)x = m_1x_1-y_1-m_2x_3+y_3$$
해당 식으로부터 $x$ 값과
$$x=\frac{m_1x_1-y_1-m_2x_3+y_3}{m_1-m_2}$$
$y$ 값을 구한다.
$$y=m_1(x-x_1)+y_1$$
3. 파이썬 코드
위에서 도출했던 $x$와 $y$를 구하는 식을 코드로 적게 되면 아래와 같다.
def intersection_line_to_line(x1: float, y1: float,
x2: float, y2: float,
x3: float, y3: float,
x4: float, y4: float) -> list:
"""
두 선의 교차점을 구하는 함수입니다.
Args:
x1 (float): 첫번째 좌표의 x값
y1 (float): 첫번째 좌표의 y값
x2 (float): 두번째 좌표의 x값
y2 (float): 두번째 좌표의 y값
x3 (float): 세번째 좌표의 x값
y3 (float): 세번째 좌표의 y값
x3 (float): 네번째 좌표의 x값
y4 (float): 네번째 좌표의 y값
Retruns:
두 선의 교차점 (x,y)를 반환합니다
"""
m1 = (y2-y1)/(x2-x1)
m2 = (y4-y3)/(x4-x3)
if m1 == m2:
print("두 선이 평행합니다")
return None
else:
x_intersect = (m1*x1-y1-m2*x3+y3)/(m1-m2)
y_intersect = m1*(x_intersect-x1)+y1
return [x_intersect, y_intersect]
'파이썬 > 수학 to 파이썬' 카테고리의 다른 글
[수학 to 파이썬] 파이썬으로 두 직선 사이의 각도 구하기 (0) | 2023.08.13 |
---|---|
[수학 to 파이썬] 원의 기울어진 각도 구하기 (0) | 2023.08.10 |
[수학 to 파이썬] 파이썬으로 세 점 사이의 각도 구하기 (2) (0) | 2023.08.02 |
[수학 to 파이썬] 파이썬으로 세 점 사이의 각도 구하기 (1) (0) | 2023.08.01 |
[수학 to 파이썬] 파이썬으로 점과 선에 투영된 점 좌표 구하기 (0) | 2023.07.26 |