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
- Tistory
- 파이썬
- Blog
- SQL
- 딥러닝
- Pandas
- 통계학
- 서평
- 독후감
- tensorflow
- Visualization
- 한빛미디어서평단
- MATLAB
- 시각화
- Google Analytics
- MySQL
- Linux
- 한빛미디어
- 파이썬 시각화
- Python
- 티스토리
- 텐서플로
- 월간결산
- 서평단
- matplotlib
- 블로그
- python visualization
- 매틀랩
- 리눅스
- Ga
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] 기하학 로고 그리기 본문
0. 목표
- 기하학 로고 그리기
1. 구상
- tan 함수로 x 에 대한 y 값 만들고 모든 변들의 관계가 1 : 2 라는 사실을 이용해서 그리기
2. 실습
1) library 호출
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse, Polygon
2) 숫자 만들기
x = -1
y = abs(x) * np.tan(1/3 * np.pi)
y_1 = 1/3 * y
y_2 = 2/3 * y
3) 그림 그리기
fig, ax = plt.subplots(1, 1, figsize = [10, 10])
# 큰 삼각형
ax.plot([x, 0], [-y_1, y_2], linestyle='solid', linewidth=20, solid_capstyle='round', color='black') # 좌측 빗변
ax.plot([x, -x], [-y_1, -y_1], linestyle='solid', linewidth=20, solid_capstyle='round', color='black') # 아래
ax.plot([0, -x], [y_2, -y_1], linestyle='solid', linewidth=20, solid_capstyle='round', color='black') # 우측 빗변
# 작은 삼각형
ax.plot([2/3 * x, -1/3 * x], [0, 1/2 * y_2], linestyle='solid', linewidth=20, solid_capstyle='round', color='black') # 좌상단
ax.plot([-1/3 * x, -1/3 * x], [y_1, -y_1], linestyle='solid', linewidth=20, solid_capstyle='round', color='black') # 좌하단
ax.plot([2/3 * x, -1/3 * x], [0, -y_1], linestyle='solid', linewidth=20, solid_capstyle='round', color='black') # 좌하단
# 가운데 선
ax.plot([2/3 * x, 0], [0, 0], linestyle='solid', linewidth=20, solid_capstyle='round', color='black') # 가운데
ax.plot([0, -1/3 * x], [0, 1/2 * y_2], linestyle='solid', linewidth=20, solid_capstyle='round', color='black') # 우상단
ax.plot([0, -1/3 * x], [0, -1/2 * y_2], linestyle='solid', linewidth=20, solid_capstyle='round', color='black') # 우하단
# 색 칠하기
ax.add_patch(Polygon([(2/3 * x, 0), (0, 0), (-1/3 * x, 1/2 * y_2)], facecolor = '#B8E5FA')) # 우상단
ax.add_patch(Polygon([(2/3 * x, 0), (0, 0), (-1/3 * x, -1/2 * y_2)], facecolor = '#1D67B0')) # 우하단
ax.add_patch(Polygon([(-1/3 * x, 1/2 * y_2), (0, 0), (-1/3 * x, -1/2 * y_2)], facecolor = '#37BDF3')) # 오른쪽
ax.axis('off') # 숫자 지우기
ax.axis('square'); # 정사각형
3. 결과
4. 참고
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] PyScript 로 그림 그리기 (0) | 2023.02.06 |
---|---|
[PYTHON] 피보나치 수열 시각화 (0) | 2022.11.13 |
[PYTHON] matplotlib 으로 원기옥(음식점 이름) 로고 그리기 (0) | 2022.10.26 |
[PYTHON] 로그 스케일로 그림 그리기 (0) | 2022.07.23 |
[PYTHON] venn2_circles 로 달 그리기 (0) | 2022.07.22 |
Comments