import tkinter as tk
from tkinter import messagebox
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import rc
import platform
# 한글 폰트 설정
if platform.system() == "Windows":
rc('font', family='Malgun Gothic') # Windows의 한글 폰트
elif platform.system() == "Darwin": # macOS
rc('font', family='AppleGothic')
else:
rc('font', family='NanumGothic') # 리눅스용 폰트
plt.rcParams['axes.unicode_minus'] = False # 마이너스 기호 깨짐 방지
def solve_dimension_equation():
try:
# 입력된 값 가져오기
dimension_value = float(entry_dimension.get())
# 예시 방정식: x^2 + 2x + 1
# 결과 계산
result = dimension_value**2 + 2 * dimension_value + 1
# 결과 표시
label_result.config(text=f"결과: {result:.2f}")
except ValueError:
messagebox.showerror("입력 오류", "숫자를 올바르게 입력하세요.")
def plot_graph():
try:
# 그래프를 위한 x 범위 설정
x = np.linspace(-10, 10, 400) # -10에서 10까지 400개의 점
y = x**2 + 2 * x + 1 # 예시 방정식
# 그래프 그리기
plt.figure("차원 방정식 그래프")
plt.plot(x, y, label="y = x^2 + 2x + 1")
plt.axhline(0, color="black", linewidth=0.5, linestyle="--") # x축
plt.axvline(0, color="black", linewidth=0.5, linestyle="--") # y축
plt.title("차원 방정식 그래프")
plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.grid(True)
plt.show()
except Exception as e:
messagebox.showerror("그래프 오류", f"그래프를 표시할 수 없습니다: {str(e)}")
# GUI 설정
root = tk.Tk()
root.title("차원 방정식 계산기")
# 입력 필드와 라벨
label_instruction = tk.Label(root, text="숫자를 입력하고 결과를 확인하세요:")
label_instruction.pack(pady=10)
entry_dimension = tk.Entry(root, width=20)
entry_dimension.pack(pady=5)
# 계산 버튼
button_calculate = tk.Button(root, text="계산", command=solve_dimension_equation)
button_calculate.pack(pady=10)
# 그래프 버튼
button_graph = tk.Button(root, text="그래프 보기", command=plot_graph)
button_graph.pack(pady=10)
# 결과 표시 라벨
label_result = tk.Label(root, text="결과: ", font=("Arial", 14))
label_result.pack(pady=10)
# 프로그램 실행
root.mainloop()
'정보통신기술(ICT)' 카테고리의 다른 글
머터리얼 디스커버리 알고리즘 (0) | 2024.11.27 |
---|---|
유전체 염기서열과 파이썬 코드 (0) | 2024.11.26 |
웹 하이웨이 (0) | 2024.11.24 |
파이썬 소프트웨어: 핵 융합 엔진 제어 소프트웨어 (0) | 2024.11.24 |
파이썬 소프트웨어: 거리와 속도와 시간 (0) | 2024.11.23 |