積分による三角関数・対数関数の定義
はじめに
本記事では、三角関数と対数関数を積分(長さ・面積)から定義する立場を採用し、高校数学から大学数学への自然な接続を試みます。
従来の高校数学では「定義を与えずに性質だけを列挙する」ことで生じる違和感や循環論法の問題を、積分による定義によって解消します。
具体的には:
- 単位円の弧長としてラジアンを定義し、その逆関数として正弦関数を導入
- 双曲線
の下の面積として対数関数を定義し、その逆関数として指数関数を導くy=1/x
この立場により、微分公式・加法定理・基本極限などの性質がすべて定義から必然的に導かれることを示します。また、Juliaによる数値計算でこれらの定義を実装し、π や e の値を積分から直接計算します。
三角関数
単位円と「角=長さ」という考え
単位円
角 → 座標 → 三角関数
今回は、この順番を変えて、
積分(長さ)→ 角 → 三角関数
という順で定義します。
単位円の弧長として角を定義する
単位円の右半分を
とパラメータ表示します。
速さ(弧長要素)
角の定義(積分)
原点から見て、点P
- これは単位円上の弧の長さです
- 単位円なので「弧長 = 中心角(ラジアン)」
👉
正弦関数の定義(逆関数として)
上の定義より
は
つまり、正弦とは「弧長
微分から余弦関数へ
微分
余弦関数の定義
が成り立ちます。
面積 S=\theta/2 が自然に出る理由

単位円の扇形の面積
部分積分により、
つまり、単位円の扇形の面積は
極限 \lim_{\theta \to 0} \frac{\sin \theta}{\theta} = 1
👉 面積比較や「循環論法」は不要です。
対数関数・指数関数
対数関数の定義
対数関数
これは
- 点
から(1, 0) まで(x, 0) - 曲線
の下の符号付き面積y = 1/t
として定義されます。
基本性質
定義から導くことができます。
-
\displaystyle \log 1 = \int_1^1 \frac{dt}{t} = 0 -
微分 積分の基本定理より
-
は単調増加である\log x
対数関数の性質
命題
証明
後半で変数変換
指数関数の定義(逆関数)
定義
微分から指数関数へ
逆関数の微分より
したがって
👉 指数関数とは「自分自身が微分になる関数」です。
定数 e の定義
定義
すなわち、
曲線
の下の面積が 1 になるときの \displaystyle y = \frac{1}{x} x
基本極限の即時導出
まとめ(三角関数との対応)
三角関数と対数関数は、いずれも「積分で定義される量の逆関数」という共通構造をもちます。
| 三角関数 | 対数関数 |
|---|---|
| 単位円の弧長 | 双曲線下の面積 |
| 逆関数が |
逆関数が |
Juliaによる数値実験
以上の定義を、Juliaで実装して数値的に確認してみます。
π の計算
using QuadGK
# π の計算
integral_pi, error = quadgk(t -> 1/sqrt(1 - t^2), 0, 1)
pi_calculated = 2 * integral_pi
println("積分による π の値: ", pi_calculated)
println("Julia の π の値: ", Float64(pi))
println("誤差: ", abs(pi_calculated - π))
出力:
積分による π の値: 3.14159262139778
Julia の π の値: 3.141592653589793
誤差: 3.2192013055265534e-8
e の計算
# log(x) = ∫₁ˣ 1/s ds を計算する関数
function log_integral(x)
if x == 1
return 0.0
end
integral, _ = quadgk(s -> 1/s, 1, x)
return integral
end
# log(e) = 1 となる e を二分法で求める
function find_e()
a, b = 2.0, 3.0
tolerance = 1e-10
while b - a > tolerance
mid = (a + b) / 2
log_mid = log_integral(mid)
if log_mid < 1
a = mid
else
b = mid
end
end
return (a + b) / 2
end
e_calculated = find_e()
println("積分による e の値: ", e_calculated)
println("Julia の ℯ の値: ", ℯ |> Float64)
println("誤差: ", abs(e_calculated - ℯ))
出力:
積分による e の値: 2.7182818284782115
Julia の ℯ の値: 2.718281828459045
誤差: 1.9166446207918852e-11
正弦関数の計算
# y から θ を計算(弧長の積分)
function y_to_theta(y)
if y == 0
return 0.0
end
integral, _ = quadgk(t -> 1/sqrt(1 - t^2), 0, y)
return integral
end
# θ から y を計算(逆関数として sin を定義)
function theta_to_y(theta)
if theta == 0
return 0.0
end
a, b = 0.0, 1.0
tolerance = 1e-10
while b - a > tolerance
mid = (a + b) / 2
theta_mid = y_to_theta(mid)
if theta_mid < theta
a = mid
else
b = mid
end
end
return (a + b) / 2
end
# テスト: θ = π/6 (30度) のとき sin(π/6) = 0.5
theta_test = pi_calculated / 6
sin_calculated = theta_to_y(theta_test)
println("θ = π/6 のとき")
println("積分による sin(π/6): ", sin_calculated)
println("Julia の sin(π/6): ", sin(π/6))
出力:
θ = π/6 のとき
積分による sin(π/6): 0.49999999537249096
Julia の sin(π/6): 0.49999999999999994
可視化
正弦関数

青線が積分による定義、破線がJuliaの組み込みsin関数です。完全に一致していることがわかります。
対数関数

青線が積分による定義、破線がJuliaの組み込みlog関数です。赤い点が
まとめ
本記事では、三角関数と対数関数を積分から定義する立場を採用しました。
メリット:
- 循環論法の回避: 微分公式を証明するために微分を使う必要がない
- 定義の明確化: 「角とは長さである」「対数とは面積である」という幾何学的直観
- 自然な導出: 加法定理、基本極限などがすべて定義から導かれる
- 大学数学への接続: より厳密な解析学への自然な橋渡し
Juliaによる数値実験により、これらの定義が実際に正しく機能することを確認できました。
参考文献
黒木玄 (2025). "積分による三角関数・対数関数の定義に関する議論". X (旧Twitter), 2025年1月10日. https://x.com/genkuroki/status/2009564879557181825
生成AI
本稿の執筆にあたり、ChatGPT-5.2およびClaude Code (Sonnet 4.5) を文書作成支援ツールとして利用しました。
Discussion