使い方は2通りです。【2点から求める】点1と点2の座標を入力すると、傾き・距離・角度・直線の式を計算します。【1点と距離から求める】点2の欄を空欄にして、距離dと傾きm(または角度θ)を入力すると、点1から進んだ先の点の座標を計算します。
このページでできること
- 2点の座標を入れるだけで、直線の傾き \(m\)(=一次関数の変化の割合)がその場でわかります
- 傾きと同時に、2点間の距離・傾斜角 \(\theta\)・直線の方程式 \(y = mx + b\)・y切片・x切片もまとめて計算します
- 逆に「1つの点と、進む距離と、傾き(または角度)」から、進んだ先の点の座標を求めることもできます
- 式のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
この計算は何の役に立つ?
車いす用スロープの勾配は、バリアフリー法の基準で1/12以下(横に12進んで1上がる=傾き約0.083)とされています。「高低差60cmの玄関に、水平距離7.2mのスロープを作れるか」のような検討は、まさに傾きの計算そのものです(0.6 ÷ 7.2 = 1/12 でぎりぎり基準内。角度にすると約4.8°)。
住宅のリフォームや施設の設計で、安全に使える坂かどうかを数字で確かめられます。
坂道の標識にある「10%」は「水平に100m進むと10m上がる」=傾き0.1という意味で、角度にすると \(\arctan 0.1 \fallingdotseq 5.7°\) です。「10%=10°」ではない、というのは意外と知られていません。
この読み方がわかると、車のギア選びや自転車・ランニングのコース選びで、坂のきつさを事前に数字で見積もれます。
日本の建築では屋根の傾きを「4寸勾配」(横に10進むと4上がる=傾き0.4)のように表します。角度にすると \(\arctan 0.4 \fallingdotseq 21.8°\) です。
屋根材ごとに使える勾配の範囲が決まっているため、大工さんや設計士はこの換算を日常的に使っています。DIYで物置の屋根を作るときにも役立ちます。
地図上の水平距離1000mで標高差300mを登るルートなら、平均の傾きは 300 ÷ 1000 = 0.3(傾斜角約16.7°)、実際に歩く斜面の距離は三平方の定理で \(\sqrt{1000^2 + 300^2} \fallingdotseq 1044\)m と見積もれます。
「地図の距離より実際は長く、傾きで体力の消耗が決まる」ことを数字で把握できると、登山計画の安全度が上がります。
「4月の売上400万円が7月に580万円になった」なら、傾きは (580 − 400) ÷ (7 − 4) = 60万円/月で、「毎月平均60万円ずつ伸びている」と読めます。
折れ線グラフの傾きは「変化のペース」そのものです。売上・体重・気温など、2時点の値から変化の速さを求める計算は、このページの傾きの式と同じです。
式とグラフ
用語・記号の解説
記号
| \(m\) | エム | 直線の傾き。「横に1進むごとに縦にいくつ変わるか」を表します。プラスなら右上がり、マイナスなら右下がりです。 |
| \((x_1, y_1)\), \((x_2, y_2)\) | エックスいち・ワイいち | 2つの点の座標。\(x\) が横方向、\(y\) が縦方向の位置で、右下の小さい数字(添え字)は「1つ目の点・2つ目の点」の区別です。 |
| \(\Delta x\), \(\Delta y\) | デルタエックス、デルタワイ | 増加量(変化した量)。\(\Delta\)(デルタ)は「変化」を表すギリシャ文字で、\(\Delta x = x_2 - x_1\)、\(\Delta y = y_2 - y_1\) です。 |
| \(d\) | ディー | 2点間の距離。distance(距離)の頭文字です。 |
| \(\theta\) | シータ | 角度の名前によく使うギリシャ文字。このページでは直線がx軸となす角度(傾斜角)を表します。 |
| \(b\) | ビー | y切片。直線がy軸と交わる高さ(\(x = 0\) のときの \(y\) の値)です。 |
| \(\tan\) | タンジェント | 三角比の一つで、角度に対する「縦÷横」の比。直線の傾きは \(m = \tan\theta\) の関係で角度とつながっています。 |
| \(\arctan\) | アークタンジェント | タンジェントの逆向きの計算で、「tanの値がその数になる角度」を求めます。関数電卓では tan⁻¹ と表示されます。 |
用語
| 傾き | かたむき | 直線の傾き具合を表す数。「xが1増えるとyがいくつ増えるか」で、大きいほど急な直線になります。道路や屋根の「勾配」も同じ考え方です。 |
| 変化の割合 | へんかのわりあい | (yの増加量)÷(xの増加量)のこと。中学2年の一次関数で習う用語で、一次関数では直線の傾きと完全に同じ値になります。 |
| 一次関数 | いちじかんすう | \(y = mx + b\) の形で表される関数。グラフはまっすぐな直線になり、\(m\) が傾き、\(b\) がy切片です(学校では \(y = ax + b\) と書くことが多いです)。 |
| 切片 | せっぺん | グラフが軸と交わる位置。y軸と交わる高さがy切片(\(x = 0\) のときの \(y\))、x軸と交わる位置がx切片(\(y = 0\) のときの \(x\))です。 |
| 傾斜角 | けいしゃかく | 直線がx軸(水平方向)となす角度。傾きとは \(m = \tan\theta\) の関係にあります。 |
| 勾配 | こうばい | 坂道や屋根などの傾き具合の実用的な呼び名。道路標識の「10%」は「水平に100m進むと10m上がる」=傾き0.1という意味です。 |
| 座標 | ざひょう | 点の位置を(横の位置, 縦の位置)の数の組で表したもの。点(3, 4)は「原点から右へ3、上へ4」の位置です。中学1年で学びます。 |
| 垂直な直線 | すいちょくなちょくせん | x軸に垂直な(真上に伸びる)直線。xの増加量が0なので、傾きの式が「0で割る」ことになり、傾きは定義できません。式は \(y = mx + b\) の形ではなく \(x = 定数\) の形になります。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
つまずいたら、この表の内容に戻って復習するのが近道です。
| 座標平面(中学1年) |
|
| 正の数・負の数の計算(中学1年) |
|
| 一次関数と変化の割合(中学2年) |
|
| 三平方の定理(中学3年) |
|
| 三角比 tan(高校 数学I) |
|
Excelで計算する方法
| 点1のx座標 x₁ | 3 |
| 点1のy座標 y₁ | 4 |
| 点2のx座標 x₂ | 6 |
| 点2のy座標 y₂ | 8 |
| 傾き m | =(B4-B2)/(B3-B1) |
| 点1のx座標 x₁ | 3 |
| 点1のy座標 y₁ | 4 |
| 点2のx座標 x₂ | 6 |
| 点2のy座標 y₂ | 8 |
| 2点間の距離 d | =SQRT((B3-B1)^2+(B4-B2)^2) |
| 点1のx座標 x₁ | 3 |
| 点1のy座標 y₁ | 4 |
| 点2のx座標 x₂ | 6 |
| 点2のy座標 y₂ | 8 |
| 傾斜角 θ(度) | =DEGREES(ATAN2(B3-B1,B4-B2)) |
| 通る点のx座標 x₁ | 1 |
| 通る点のy座標 y₁ | 5 |
| 傾き m | -2 |
| y切片 b | =B2-B3*B1 |
| x切片 | =-B4/B3 |
| 点1のx座標 x₁ | 1 |
| 点1のy座標 y₁ | 1 |
| 進む距離 d | 5 |
| 傾き m | 0.75 |
| xの増加量 Δx | =B3/SQRT(1+B4^2) |
| yの増加量 Δy | =B4*B5 |
| 進んだ先のx座標 x₂ | =B1+B5 |
| 進んだ先のy座標 y₂ | =B2+B6 |
「SQRT(…)」は平方根、「^2」は2乗、「DEGREES(…)」はラジアンを度に直す関数、「ATAN2(横の増加量, 縦の増加量)」は2方向の増加量から角度を求める関数です。
1つ目の表なら傾き約1.333、2つ目は距離5、3つ目は角度約53.13°になります。3つ目のATAN2はマイナスの角度(−180°〜180°)で返るので、右下がりの直線で0〜360°表示に揃えたいときは360を足してください。
5つ目の表は「右へ進む解」を計算します(例では点(5, 4))。左へ進む解はΔxの式の先頭にマイナスを付ける(=-B3/SQRT(1+B4^2))と求められます。
Googleスプレッドシートで計算する方法
| 点1のx座標 x₁ | 3 |
| 点1のy座標 y₁ | 4 |
| 点2のx座標 x₂ | 6 |
| 点2のy座標 y₂ | 8 |
| 傾き m | =(B4-B2)/(B3-B1) |
| 点1のx座標 x₁ | 3 |
| 点1のy座標 y₁ | 4 |
| 点2のx座標 x₂ | 6 |
| 点2のy座標 y₂ | 8 |
| 2点間の距離 d | =SQRT((B3-B1)^2+(B4-B2)^2) |
| 点1のx座標 x₁ | 3 |
| 点1のy座標 y₁ | 4 |
| 点2のx座標 x₂ | 6 |
| 点2のy座標 y₂ | 8 |
| 傾斜角 θ(度) | =DEGREES(ATAN2(B3-B1,B4-B2)) |
| 通る点のx座標 x₁ | 1 |
| 通る点のy座標 y₁ | 5 |
| 傾き m | -2 |
| y切片 b | =B2-B3*B1 |
| x切片 | =-B4/B3 |
| 点1のx座標 x₁ | 1 |
| 点1のy座標 y₁ | 1 |
| 進む距離 d | 5 |
| 傾き m | 0.75 |
| xの増加量 Δx | =B3/SQRT(1+B4^2) |
| yの増加量 Δy | =B4*B5 |
| 進んだ先のx座標 x₂ | =B1+B5 |
| 進んだ先のy座標 y₂ | =B2+B6 |
Pythonで計算する方法
import math
x1, y1 = 3.0, 4.0 # 点1の座標
x2, y2 = 6.0, 8.0 # 点2の座標
delta_x = x2 - x1 # xの増加量
delta_y = y2 - y1 # yの増加量
slope = delta_y / delta_x # 傾きm(delta_xが0だと垂直な直線なので計算不可)
distance = math.hypot(delta_x, delta_y) # 2点間の距離(√(Δx²+Δy²)と同じ)
angle = math.degrees(math.atan2(delta_y, delta_x)) % 360 # 角度(0〜360°)
y_intercept = y1 - slope * x1 # y切片b
print(f"傾き m: {slope}")
print(f"距離 d: {distance}")
print(f"角度 θ: {angle}")
print(f"直線の式: y = {slope}x + {y_intercept}")
# 逆に「1点(x1,y1)から傾きslopeの向きに距離dだけ進んだ先の点」を求める場合
d = 5.0
dx = d / math.sqrt(1 + slope ** 2) # 右へ進む解(左へ進む解は -dx)
dy = slope * dx
print(f"進んだ先の点: ({x1 + dx}, {y1 + dy})")
数式記述言語(LaTeX等)での書き方(コピペ可)
m = (y₂ − y₁) ÷ (x₂ − x₁)
m = \frac{y_2 - y_1}{x_2 - x_1}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>m</mi>
<mo>=</mo>
<mfrac>
<mrow><msub><mi>y</mi><mn>2</mn></msub><mo>−</mo><msub><mi>y</mi><mn>1</mn></msub></mrow>
<mrow><msub><mi>x</mi><mn>2</mn></msub><mo>−</mo><msub><mi>x</mi><mn>1</mn></msub></mrow>
</mfrac>
</mrow>
</math>
m = (y_2 - y_1)/(x_2 - x_1)
(y2 - y1)/(x2 - x1)
m := (y2 - y1)/(x2 - x1);
m = (y2 - y1)/(x2 - x1);
m = (y_2 - y_1)/(x_2 - x_1)
d = √(Δx² + Δy²)
d = \sqrt{\Delta x^2 + \Delta y^2}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>d</mi>
<mo>=</mo>
<msqrt>
<mrow>
<msup><mrow><mi mathvariant="normal">Δ</mi><mi>x</mi></mrow><mn>2</mn></msup>
<mo>+</mo>
<msup><mrow><mi mathvariant="normal">Δ</mi><mi>y</mi></mrow><mn>2</mn></msup>
</mrow>
</msqrt>
</mrow>
</math>
d = sqrt((Delta x)^2 + (Delta y)^2)
Sqrt[dx^2 + dy^2]
d := sqrt(dx^2 + dy^2);
d = sqrt(dx^2 + dy^2);
d = √(Δx^2 + Δy^2)
θ = arctan(m)
\theta = \arctan m
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>θ</mi>
<mo>=</mo>
<mi>arctan</mi>
<mo>⁡</mo>
<mi>m</mi>
</mrow>
</math>
theta = arctan(m)
ArcTan[m]
theta := arctan(m);
theta = atan(m);
θ = arctan(m)
y = mx + b (b = y₁ − m·x₁)
y = mx + b, \quad b = y_1 - m x_1
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>y</mi>
<mo>=</mo>
<mi>m</mi><mi>x</mi>
<mo>+</mo>
<mi>b</mi>
<mo>,</mo>
<mi>b</mi>
<mo>=</mo>
<msub><mi>y</mi><mn>1</mn></msub>
<mo>−</mo>
<mi>m</mi><msub><mi>x</mi><mn>1</mn></msub>
</mrow>
</math>
y = m x + b, b = y_1 - m x_1
b = y1 - m*x1; y = m*x + b
b := y1 - m*x1; y := m*x + b;
b = y1 - m*x1; y = m*x + b;
y = mx + b, b = y_1 - mx_1
Δx = ±d ÷ √(1 + m²), Δy = m·Δx
\Delta x = \pm\frac{d}{\sqrt{1 + m^2}}, \quad \Delta y = m\,\Delta x
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mrow><mi mathvariant="normal">Δ</mi><mi>x</mi></mrow>
<mo>=</mo>
<mo>±</mo>
<mfrac>
<mi>d</mi>
<msqrt><mrow><mn>1</mn><mo>+</mo><msup><mi>m</mi><mn>2</mn></msup></mrow></msqrt>
</mfrac>
<mo>,</mo>
<mrow><mi mathvariant="normal">Δ</mi><mi>y</mi></mrow>
<mo>=</mo>
<mi>m</mi>
<mrow><mi mathvariant="normal">Δ</mi><mi>x</mi></mrow>
</mrow>
</math>
Delta x = +-d/sqrt(1 + m^2), Delta y = m Delta x
dx = d/Sqrt[1 + m^2]; dy = m*dx
dx := d/sqrt(1 + m^2); dy := m*dx;
dx = d/sqrt(1 + m^2); dy = m*dx;
Δx = ±d/√(1 + m^2), Δy = mΔx
ChatGPT に聞いて計算してもらう方法
あなたは数学の計算アシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。 座標平面上の2点 (3, 4) と (6, 8) について、次の値をそれぞれ求めてください。 1. この2点を通る直線の傾き m 2. 2点間の距離 d 3. 直線がx軸となす角度 θ(度) 4. 直線の方程式 y = mx + b(y切片bの値も示す) 計算に使った式と、実行結果の数値を示してください。
計算ドリル(演習問題)
このページの式を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
