Skip to content

Repository files navigation

TrigLearn — 三角函數學習平台

從零開始,循序漸進,透過互動視覺化真正理解三角函數。

簡介

TrigLearn 是一個專為高中生、大學初學者及想重新打好數學基礎的人設計的三角函數教學網站。不同於傳統教科書只列公式,本站透過互動式單位圓、即時圖形變換工具、分級練習題,讓使用者真正建立對 sin、cos、tan 的直覺理解。

特色

  • 互動式視覺化 — 拖拉單位圓、滑桿調整參數,即時觀察圖形變化
  • 循序漸進教學 — 11 個章節,從角度弧度到恆等式,一步步建立知識體系
  • 即時練習回饋 — 28 道分級練習題,作答後立即看到答案與詳細解析

技術棧

技術 版本 用途
Next.js 16 React 框架 (App Router)
React 19 UI 元件庫
TypeScript 5 型別安全
Tailwind CSS 4 樣式系統
SVG - 互動圖形(單位圓、函數圖形)

無額外重型依賴。所有互動圖形均使用原生 SVG 實作。

安裝

# 克隆專案
git clone <repository-url>
cd trig-learn

# 安裝依賴
npm install

本機啟動

npm run dev

開啟瀏覽器前往 http://localhost:3000

建置

npm run build

建置產出位於 .next/ 資料夾。

啟動生產版本

npm run build && npm start

部署建議

  • Vercel(推薦):直接連接 Git 倉庫即可自動部署
  • Docker:可使用官方 Next.js Docker 範例
  • 自架伺服器npm run build && npm start,預設監聽 port 3000

專案結構

trig-learn/
├── app/                          # 頁面路由 (App Router)
│   ├── page.tsx                  # 首頁
│   ├── layout.tsx                # 全站佈局
│   ├── globals.css               # 全域樣式 + Tailwind 主題
│   ├── not-found.tsx             # 404 頁面
│   ├── overview/page.tsx         # 三角函數總覽
│   ├── angles/page.tsx           # 角度與弧度
│   ├── unit-circle/page.tsx      # 單位圓(互動)
│   ├── definitions/page.tsx      # sin/cos/tan 定義
│   ├── graphs/page.tsx           # 函數圖形(互動)
│   ├── transformations/page.tsx  # 圖形變換(互動)
│   ├── inverse/page.tsx          # 反三角函數
│   ├── identities/page.tsx       # 恆等式與公式
│   ├── practice/page.tsx         # 練習題
│   ├── common-mistakes/page.tsx  # 常見錯誤
│   └── applications/page.tsx     # 實際應用
├── components/
│   ├── layout/                   # 佈局元件
│   │   ├── Navbar.tsx            # 導航列
│   │   ├── Footer.tsx            # 頁尾
│   │   └── PageNavigation.tsx    # 上/下一章導航
│   ├── home/                     # 首頁區塊元件
│   │   ├── HeroSection.tsx
│   │   ├── FeaturesSection.tsx
│   │   ├── RoadmapSection.tsx
│   │   └── FAQSection.tsx
│   ├── interactive/              # 互動數學元件
│   │   ├── UnitCircle.tsx        # 互動式單位圓
│   │   ├── GraphViewer.tsx       # 函數圖形檢視器
│   │   ├── TransformSliders.tsx  # y=Asin(Bx+C)+D 變換工具
│   │   └── AngleConverter.tsx    # 角度弧度轉換器
│   ├── practice/
│   │   └── Quiz.tsx              # 測驗系統
│   └── ui/                       # 通用 UI 元件
│       ├── Card.tsx
│       ├── Callout.tsx
│       ├── Accordion.tsx
│       └── ProgressBar.tsx
├── data/                         # 資料檔
│   ├── navigation.ts             # 章節導航結構
│   ├── specialAngles.ts          # 特殊角度值表
│   └── questions.ts              # 練習題庫(28 題)
├── lib/
│   └── mathUtils.ts              # 數學工具函式
├── package.json
├── tsconfig.json
├── next.config.ts
└── postcss.config.mjs

章節內容

# 章節 說明
1 三角函數總覽 認識全貌與應用場景
2 角度與弧度 度弧互轉、互動轉換器
3 單位圓 互動式單位圓、四象限、特殊角
4 sin/cos/tan 定義 直角三角形 vs 單位圓、SOH-CAH-TOA
5 函數圖形 sin/cos/tan 圖形、互動檢視器
6 圖形變換 A/B/C/D 參數、互動滑桿
7 反三角函數 arcsin/arccos/arctan、主值
8 恆等式與公式 畢氏、和角、倍角、半角公式
9 練習題 28 題分級測驗、即時回饋
10 常見錯誤 10 大初學者陷阱
11 實際應用 聲波、電路、旋轉運動等

後續可擴充方向

  • 更多練習題目與題型(拖曳互動題、圖形選擇題)
  • 學習進度持久化(localStorage 或資料庫)
  • 暗色模式
  • 多語言支援(英文、簡體中文)
  • 更多數學主題(向量、矩陣、微積分基礎)
  • 數學公式渲染(KaTeX / MathJax)
  • 搜尋功能
  • 行動端原生體驗最佳化

License

MIT

About

三角函數學習平台 — 互動式教學網站,從零開始真正理解 sin、cos、tan

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages