Metadata-Version: 2.4
Name: myt-package-tawanchai-v2
Version: 0.2.0
Summary: Python Package สำหรับการคำนวณและวิเคราะห์ข้อมูลทางคณิตศาสตร์
Author-email: Tawanchai Thanmat <tawanchai.ta@mail.wu.ac.th>
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Requires-Dist: matplotlib
Requires-Dist: networkx
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: sympy
Description-Content-Type: text/markdown

# 🧮 myt_package_tawanchai

> **Python Package สำหรับการคำนวณทางเรขาคณิตวิเคราะห์ สถิติบรรยาย และเครื่องมือวิเคราะห์ทางคณิตศาสตร์ขั้นสูง**

---

## 📌 คุณสมบัติเด่น (Features)

* 📐 **Geometry & Points Analysis:** คำนวณระยะทาง จุดกึ่งกลาง ความชัน ควอดรันต์ และสมการเส้นตรง
* 📊 **Descriptive Statistics:** วิเคราะห์ค่าเฉลี่ย มัธยฐาน ฐานนิยม ส่วนเบี่ยงเบนมาตรฐาน และ Z-Score
* 🧩 **OOP & Inheritance:** รองรับโครงสร้าง Class แบบ 2D/3D และ Magic Methods 
* ⚡ **Fast & Advanced Math Tools:** ประมวลผลรวดเร็วด้วย **NumPy**, **SciPy**, **SymPy** และ **NetworkX**
* 🛡️ **Robust File I/O:** อ่านข้อมูลจากไฟล์พร้อมระบบดักจับข้อผิดพลาด (Exception Handling)

---

## 🚀 การติดตั้ง (Installation)

```bash
pip install myt-package-tawanchai-v2

#ตัวอย่างการใช้งาน

import myt_package_tawanchai as pkg

# ==========================================
# 1. ฟังก์ชันทางเรขาคณิตวิเคราะห์ (Points)
# ==========================================
print("Distance:", pkg.distance(1, 2, 4, 6))           # 5.0
print("Midpoint:", pkg.midpoint(1, 2, 5, 6))           # (3.0, 4.0)
print("Slope:", pkg.slope(1, 2, 3, 6))                 # 2.0
print("Quadrant:", pkg.quadrant(-2, 3))               # Quadrant II
print("Line equation:", pkg.line_equation(1, 2, 3, 6)) # y = 2.0x + 0.0

# --- OOP, NumPy, SymPy & NetworkX ---
p1 = pkg.Point(1, 2)
p2 = pkg.Point(4, 6)
p3D = pkg.Point3D(1, 2, 3)

print("OOP Point 2D:", p1)                             # Point(1, 2)
print("OOP Point 3D:", p3D)                           # Point3D(1, 2, 3)
print("Magic Method Add (p1 + p2):", p1 + p2)          # Point(5, 8)
print("NumPy Distance:", pkg.distance_numpy((1, 2), (4, 6)))
print("SymPy Line Eq:", pkg.sympy_line_equation(2.0, 0.0))

# วาดกราฟโครงข่ายจุด (Network Graph)
# pkg.plot_point_network([p1, p2, pkg.Point(5, 10)])


# ==========================================
# 2. ฟังก์ชันทางสถิติบรรยาย (Descriptive)
# ==========================================
data = [10, 20, 20, 30, 40]

print("Mean:", pkg.mean(data))                          # 24.0
print("Median:", pkg.median(data))                      # 20
print("Mode:", pkg.mode(data))                          # 20
print("Range:", pkg.data_range(data))                   # 30
print("Standard deviation:", pkg.standard_deviation(data)) # 10.198039027185569

# --- Recursion, SciPy & File I/O ---
print("Recursive Sum (Memoized):", pkg.recursive_sum(tuple(data)))
print("SciPy Z-Scores:", pkg.get_zscores(data))

# อ่านไฟล์ข้อมูลพร้อม Exception Handling
file_data = pkg.read_data_file("data.txt")