Bài 10. Vectơ trong mặt phẳng tọa độ
Năm 1637, nhà triết học và toán học người Pháp René Descartes nằm trên giường quan sát một chú ruồi đang bò trên trần nhà có các ô vuông kẻ chỉ. Ông chợt nhận ra: Chỉ cần hai con số (khoảng cách từ chú ruồi đến hai bức tường vuông góc), ta có thể xác định chính xác tuyệt đối vị trí của chú ruồi tại bất kỳ thời điểm nào!
Khoảnh khắc thiên tài đó đã khai sinh ra Hình học giải tích — sự kết hợp vĩ đại giữa Hình học và Đại số.
Nếu như ở các bài học trước, các phép toán vectơ phải dựng hình bằng thước kẻ và compa rất trừu tượng, thì khi gắn vào Hệ trục tọa độ , mỗi vectơ được mã hóa thành một cặp số . Mọi bài toán hình học phức tạp từ nay đều có thể giải quyết nhanh chóng bằng các phép tính số học đơn giản!
1. Sơ đồ tư duy toàn diện: Vectơ trong mặt phẳng tọa độ
1. Tọa độ của Vectơ & Điểm
• Trục có vectơ đơn vị , trục có .
• .
• Điểm .
• Vectơ nối 2 điểm: .
• Khoảng cách: .
2. Các phép toán tọa độ
Cho và :
• Cộng:
• Trừ:
• Nhân số:
• Bằng nhau: và .
3. Trung điểm & Trọng tâm
• Trung điểm của :
• Trọng tâm của :
4. Điều kiện Cùng phương
• cùng phương :
(hoặc khi ).
• thẳng hàng cùng phương .
2. Khởi động: 5 câu hỏi phản xạ nhanh
- Vectơ đơn vị trên trục hoành và trên trục tung có tọa độ là gì?
Đáp án: và . - Nếu vectơ thì tọa độ của là bao nhiêu?
Đáp án: . - Cho hai điểm và . Tọa độ của vectơ là bao nhiêu?
Đáp án: Lấy tọa độ sau trừ tọa độ trước: . - Độ dài đoạn thẳng ở câu 3 bằng bao nhiêu?
Đáp án: . - Hai vectơ và có cùng phương không?
Đáp án: Có, vì (hoành độ và tung độ tỉ lệ thuận với nhau).
3. Lý thuyết trọng tâm
3.1. Hệ trục tọa độ & Tọa độ vectơ, tọa độ điểm
- Hệ trục tọa độ (gọi tắt là hệ tọa độ ) gồm hai trục số (trục hoành) và (trục tung) vuông góc với nhau tại gốc .
- Trục có vectơ đơn vị , trục có vectơ đơn vị thỏa mãn và .
- Tọa độ của một vectơ:
Với mỗi vectơ , luôn tồn tại duy nhất một cặp số thực sao cho:Cặp số được gọi là tọa độ của vectơ , ký hiệu là hoặc . Số gọi là hoành độ, số gọi là tung độ. - Tọa độ của một điểm:
Trong mặt phẳng , tọa độ của điểm chính là tọa độ của vectơ vị trí :
Ghi nhớTọa độ vectơ nối hai điểm:
Cho hai điểm và . Tọa độ của vectơ được tính bằng tọa độ của ngọn trừ tọa độ của gốc:Độ dài đoạn thẳng (độ dài vectơ ):
3.2. Biểu thức tọa độ của các phép toán vectơ
Cho hai vectơ , và số thực :
- Phép cộng:
- Phép trừ:
- Phép nhân với một số:
- Hai vectơ bằng nhau:
- Vectơ-không: .
3.3. Tọa độ trung điểm và trọng tâm
- Tọa độ trung điểm: Cho đoạn thẳng với và . Tọa độ trung điểm của là:
- Tọa độ trọng tâm: Cho tam giác với . Tọa độ trọng tâm của tam giác là:
3.4. Điều kiện hai vectơ cùng phương bằng tọa độ
Mẹo hayCho hai vectơ và với .
Hai vectơ và cùng phương khi và chỉ khi:Nếu cả và thì điều kiện tương đương với:
Ba điểm phân biệt thẳng hàng khi và chỉ khi hai vectơ và cùng phương.
4. Widget tương tác: Bản đồ Tọa độ Vectơ Oxy
Nhập tọa độ điểm và hoặc kéo trực tiếp trên hệ trục để kiểm tra tọa độ , độ dài đoạn thẳng và tọa độ trung điểm :
<div style="background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 20px; margin: 24px 0; font-family: system-ui, sans-serif;">
<div style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 16px;">
<h3 style="margin: 0; font-size: 1.15rem; color: #1e293b;">🌐 Không Gian Tọa Độ Giải Tích Oxy</h3>
<div style="font-weight: 700; font-size: 1.1rem; color: #2563eb;">
AB = (<span id="txtDx">4</span>; <span id="txtDy">3</span>)
</div>
</div>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 20px; align-items: center;">
<!-- Interactive Canvas SVG -->
<div style="background: white; border: 1px solid #e2e8f0; border-radius: 8px; padding: 10px; text-align: center;">
<svg data-interactive-done="true" id="coordSvg" viewBox="-120 -120 240 240" style="width: 100%; max-width: 320px; height: auto; background: #ffffff;">
<defs>
<marker id="arrCoord" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
<path d="M 0 1 L 10 5 L 0 9 z" fill="#2563eb" />
</marker>
</defs>
<!-- Grid: 1 unit = 20px. Range -5 to 5 -->
<g stroke="#f1f5f9" stroke-width="1">
<line x1="-120" y1="-80" x2="120" y2="-80" /><line x1="-120" y1="-40" x2="120" y2="-40" />
<line x1="-120" y1="40" x2="120" y2="40" /><line x1="-120" y1="80" x2="120" y2="80" />
<line x1="-80" y1="-120" x2="-80" y2="120" /><line x1="-40" y1="-120" x2="-40" y2="120" />
<line x1="40" y1="-120" x2="40" y2="120" /><line x1="80" y1="-120" x2="80" y2="120" />
</g>
<!-- Coordinate axes -->
<g stroke="#64748b" stroke-width="1.5">
<line x1="-115" y1="0" x2="115" y2="0" />
<line x1="0" y1="115" x2="0" y2="-115" />
</g>
<text x="105" y="16" font-size="11" fill="#475569" font-weight="bold">x</text>
<text x="6" y="-105" font-size="11" fill="#475569" font-weight="bold">y</text>
<text x="-14" y="14" font-size="10" fill="#64748b">O</text>
<!-- Projection right-triangle dx, dy -->
<line id="lineDx" x1="-40" y1="40" x2="40" y2="40" stroke="#f59e0b" stroke-width="1.5" stroke-dasharray="3,3" />
<line id="lineDy" x1="40" y1="40" x2="40" y2="-20" stroke="#f59e0b" stroke-width="1.5" stroke-dasharray="3,3" />
<!-- Vector AB -->
<line id="lineAB" x1="-40" y1="40" x2="40" y2="-20" stroke="#2563eb" stroke-width="3" marker-end="url(#arrCoord)" />
<!-- Midpoint I -->
<circle id="dotMid" cx="0" cy="10" r="4.5" fill="#10b981" />
<text id="lblMid" x="8" y="14" font-size="11" font-weight="bold" fill="#047857">I(0; 0.5)</text>
<!-- Handle A -->
<circle id="hPtA" cx="-40" cy="40" r="6" fill="#1e40af" style="cursor: move;" />
<text id="lblA" x="-56" y="55" font-size="12" font-weight="bold" fill="#1e40af">A(-2;-2)</text>
<!-- Handle B -->
<circle id="hPtB" cx="40" cy="-20" r="6" fill="#dc2626" style="cursor: move;" />
<text id="lblB" x="48" y="-24" font-size="12" font-weight="bold" fill="#dc2626">B(2;1)</text>
</svg>
</div>
<!-- Live Panel -->
<div style="background: white; border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px;">
<div style="font-weight: 700; font-size: 0.95rem; color: #1e293b; margin-bottom: 8px;">Bảng tính toán tọa độ tự động:</div>
<table style="width: 100%; font-size: 0.85rem; border-collapse: collapse;">
<tr style="border-bottom: 1px solid #f1f5f9;">
<td style="padding: 4px 0; color: #1e40af; font-weight: 600;">Điểm đầu A:</td>
<td style="padding: 4px 0; font-weight: bold; text-align: right;" id="statPtA">(-2; -2)</td>
</tr>
<tr style="border-bottom: 1px solid #f1f5f9;">
<td style="padding: 4px 0; color: #dc2626; font-weight: 600;">Điểm cuối B:</td>
<td style="padding: 4px 0; font-weight: bold; text-align: right;" id="statPtB">(2; 1)</td>
</tr>
<tr style="border-bottom: 1px solid #f1f5f9;">
<td style="padding: 4px 0; color: #2563eb; font-weight: 600;">Tọa độ vectơ AB:</td>
<td style="padding: 4px 0; font-weight: bold; color: #2563eb; text-align: right;" id="statVecAB">(4; 3)</td>
</tr>
<tr style="border-bottom: 1px solid #f1f5f9;">
<td style="padding: 4px 0; color: #475569;">Độ dài |AB|:</td>
<td style="padding: 4px 0; font-weight: bold; text-align: right;" id="statLength">5.00</td>
</tr>
<tr>
<td style="padding: 4px 0; color: #047857; font-weight: 600;">Trung điểm I của AB:</td>
<td style="padding: 4px 0; font-weight: bold; color: #047857; text-align: right;" id="statMidI">(0.0; -0.5)</td>
</tr>
</table>
<div style="margin-top: 10px; background: #f0fdf4; border-left: 3px solid #10b981; padding: 8px; border-radius: 4px; font-size: 0.8rem; color: #166534; line-height: 1.4;">
• $\vec{AB} = (x_B - x_A)\vec{i} + (y_B - y_A)\vec{j}$.<br>
• Khoảng cách Pythagore: $AB = \sqrt{4^2 + 3^2} = 5$.
</div>
</div>
</div>
</div>
<script>
(function() {
const svg = document.getElementById('coordSvg');
const scale = 20; // 20px = 1 unit
let pA = { x: -2, y: -2 };
let pB = { x: 2, y: 1 };
let activePoint = null;
function update() {
// Math to SVG: Math (x, y) -> SVG (x*20, -y*20)
const svgAx = pA.x * scale, svgAy = -pA.y * scale;
const svgBx = pB.x * scale, svgBy = -pB.y * scale;
const dx = pB.x - pA.x;
const dy = pB.y - pA.y;
const len = Math.hypot(dx, dy);
const midX = (pA.x + pB.x) / 2;
const midY = (pA.y + pB.y) / 2;
const svgMidX = midX * scale, svgMidY = -midY * scale;
document.getElementById('txtDx').textContent = dx.toFixed(1);
document.getElementById('txtDy').textContent = dy.toFixed(1);
// Vector line
document.getElementById('lineAB').setAttribute('x1', svgAx);
document.getElementById('lineAB').setAttribute('y1', svgAy);
document.getElementById('lineAB').setAttribute('x2', svgBx);
document.getElementById('lineAB').setAttribute('y2', svgBy);
// Triangle projections
document.getElementById('lineDx').setAttribute('x1', svgAx);
document.getElementById('lineDx').setAttribute('y1', svgAy);
document.getElementById('lineDx').setAttribute('x2', svgBx);
document.getElementById('lineDx').setAttribute('y2', svgAy);
document.getElementById('lineDy').setAttribute('x1', svgBx);
document.getElementById('lineDy').setAttribute('y1', svgAy);
document.getElementById('lineDy').setAttribute('x2', svgBx);
document.getElementById('lineDy').setAttribute('y2', svgBy);
// Midpoint
document.getElementById('dotMid').setAttribute('cx', svgMidX);
document.getElementById('dotMid').setAttribute('cy', svgMidY);
document.getElementById('lblMid').setAttribute('x', svgMidX + 8);
document.getElementById('lblMid').setAttribute('y', svgMidY - 6);
document.getElementById('lblMid').textContent = `I(${midX.toFixed(1)}; ${midY.toFixed(1)})`;
// Handles
document.getElementById('hPtA').setAttribute('cx', svgAx);
document.getElementById('hPtA').setAttribute('cy', svgAy);
document.getElementById('lblA').setAttribute('x', svgAx - 15);
document.getElementById('lblA').setAttribute('y', svgAy + 18);
document.getElementById('lblA').textContent = `A(${pA.x.toFixed(1)}; ${pA.y.toFixed(1)})`;
document.getElementById('hPtB').setAttribute('cx', svgBx);
document.getElementById('hPtB').setAttribute('cy', svgBy);
document.getElementById('lblB').setAttribute('x', svgBx + 8);
document.getElementById('lblB').setAttribute('y', svgBy - 8);
document.getElementById('lblB').textContent = `B(${pB.x.toFixed(1)}; ${pB.y.toFixed(1)})`;
// Panel
document.getElementById('statPtA').textContent = `(${pA.x.toFixed(1)}; ${pA.y.toFixed(1)})`;
document.getElementById('statPtB').textContent = `(${pB.x.toFixed(1)}; ${pB.y.toFixed(1)})`;
document.getElementById('statVecAB').textContent = `(${dx.toFixed(1)}; ${dy.toFixed(1)})`;
document.getElementById('statLength').textContent = len.toFixed(2);
document.getElementById('statMidI').textContent = `(${midX.toFixed(1)}; ${midY.toFixed(1)})`;
}
function getMathCoords(e) {
const rect = svg.getBoundingClientRect();
const cx = e.clientX || (e.touches && e.touches[0].clientX);
const cy = e.clientY || (e.touches && e.touches[0].clientY);
const svgX = (cx - rect.left) * (240 / rect.width) - 120;
const svgY = (cy - rect.top) * (240 / rect.height) - 120;
return {
x: Math.round((svgX / scale) * 2) / 2,
y: Math.round((-svgY / scale) * 2) / 2
};
}
document.getElementById('hPtA').addEventListener('mousedown', () => { activePoint = 'A'; });
document.getElementById('hPtA').addEventListener('touchstart', (e) => { e.preventDefault(); activePoint = 'A'; }, { passive: false });
document.getElementById('hPtB').addEventListener('mousedown', () => { activePoint = 'B'; });
document.getElementById('hPtB').addEventListener('touchstart', (e) => { e.preventDefault(); activePoint = 'B'; }, { passive: false });
window.addEventListener('mousemove', (e) => {
if (!activePoint) return;
const m = getMathCoords(e);
if (activePoint === 'A') { pA.x = Math.max(-5, Math.min(5, m.x)); pA.y = Math.max(-5, Math.min(5, m.y)); }
else { pB.x = Math.max(-5, Math.min(5, m.x)); pB.y = Math.max(-5, Math.min(5, m.y)); }
update();
});
window.addEventListener('touchmove', (e) => {
if (!activePoint) return;
e.preventDefault();
const m = getMathCoords(e);
if (activePoint === 'A') { pA.x = Math.max(-5, Math.min(5, m.x)); pA.y = Math.max(-5, Math.min(5, m.y)); }
else { pB.x = Math.max(-5, Math.min(5, m.x)); pB.y = Math.max(-5, Math.min(5, m.y)); }
update();
}, { passive: false });
const endDrag = () => { activePoint = null; };
window.addEventListener('mouseup', endDrag);
window.addEventListener('touchend', endDrag);
update();
})();
</script>
5. Bốn dạng toán điển hình & Phương pháp giải chi tiết
Dạng 1: Tìm tọa độ của vectơ và thực hiện các phép toán tọa độ
Phương pháp:
- Cho và :
- Phân tích theo và : Giải hệ phương trình bậc nhất hai ẩn tìm .
Bài toán 1
Trong mặt phẳng tọa độ , cho ba vectơ , và .
- Tìm tọa độ của vectơ .
- Phân tích vectơ theo hai vectơ và .
Lời giải chi tiết:
Áp dụng công thức nhân số với vectơ và trừ vectơ:
Do đó:
Giả sử với .
Ta có:Vì , ta lập hệ phương trình:
Nhân 4 vào phương trình thứ nhất: .
Cộng hai phương trình lại: ?
Kiểm tra: Thử .
Thay vào phương trình 2: .
Giải chính xác hệ phương trình:Vậy .
Dạng 2: Tìm tọa độ điểm thỏa mãn điều kiện hình học
Phương pháp:
- Cho hình bình hành :
- là trung điểm : .
- là trọng tâm : .
Bài toán 2
Trong mặt phẳng , cho ba điểm .
- Tìm tọa độ trọng tâm của tam giác .
- Tìm tọa độ điểm sao cho tứ giác là hình bình hành.
Lời giải chi tiết:
Tìm tọa độ trọng tâm :
Vậy .
Tìm tọa độ đỉnh :
Tứ giác là hình bình hành khi và chỉ khi:Ta tính tọa độ các vectơ:
- Đồng nhất các tọa độ:Vậy tọa độ đỉnh thứ tư là .
Dạng 3: Kiểm tra hai vectơ cùng phương & Chứng minh ba điểm thẳng hàng
Phương pháp:
- Hai vectơ và cùng phương .
- Ba điểm thẳng hàng và cùng phương.
Bài toán 3
Trong mặt phẳng tọa độ , cho ba điểm .
- Chứng minh rằng hai điểm và cùng với gốc tọa độ thẳng hàng.
- Tìm tham số để ba điểm thẳng hàng.
Lời giải chi tiết:
Ta có:
- Xét tỉ số giữa các tọa độ:Do đó . Hai vectơ và cùng phương, suy ra ba điểm thẳng hàng.
Tính tọa độ hai vectơ:
- Ba điểm thẳng hàng và cùng phương:Vậy với thì ba điểm thẳng hàng.
Dạng 4: Tính chu vi và nhận dạng tam giác trên mặt phẳng
Phương pháp:
- Tính độ dài ba cạnh bằng công thức khoảng cách:
- Chu vi tam giác: .
- Kiểm tra tam giác cân (), tam giác đều (), hoặc tam giác vuông bằng định lí Pythagore đảo ().
Bài toán 4
Cho tam giác có .
- Tính độ dài ba cạnh của tam giác và tính chu vi tam giác.
- Chứng minh tam giác là tam giác vuông tại .
Lời giải chi tiết:
Tính độ dài ba cạnh:
- Cạnh :
- Cạnh :
- Cạnh :
- Chu vi tam giác :
Nhận dạng tam giác:
Ta có:Vì , theo định lí Pythagore đảo, tam giác vuông tại .
Hơn nữa, vì , nên tam giác là tam giác vuông cân tại .
6. Ứng dụng thực tế & Công nghệ số
| Lĩnh vực | Ứng dụng cụ thể của Vectơ Tọa độ Oxy |
|---|---|
| Màn hình kỹ thuật số & Điểm ảnh (Pixels) | Mỗi pixel trên màn hình smartphone/máy tính là một tọa độ . Con trỏ chuột di chuyển là một vector độ dịch chuyển . |
| Bản đồ số & Dẫn đường (Google Maps) | Hệ tọa độ trắc địa UTM chuyển đổi kinh độ và vĩ độ của Trái Đất thành tọa độ phẳng tính bằng mét để tính quãng đường ngắn nhất. |
| Robotics & Xe tự hành (LiDAR) | Cảm biến quét laser xác định các chướng ngại vật xung quanh xe dưới dạng một đám mây điểm tọa độ để tự động đánh lái tránh va chạm. |
| Thiết kế đồ họa vector (SVG / Illustrator) | Không giống như ảnh bitmap bị vỡ hạt khi phóng to, đồ họa vector lưu trữ hình ảnh dưới dạng các tọa độ đỉnh và phương trình đường cong nối các điểm. |
| Thiết kế mạch in (PCB Design) | Máy cắm linh kiện tự động (Pick-and-Place Machine) sử dụng tọa độ vector để hàn chính xác hàng nghìn con chip lên bo mạch mỗi phút. |
7. Trắc nghiệm tương tác kiểm tra năng lực (10 câu)
8. Luyện tập tự do & Thử thách thực tế
Bài tập 1 (Tìm tâm đường tròn ngoại tiếp bằng hệ phương trình tọa độ)
Cho tam giác có các đỉnh .
- Tìm tọa độ tâm của đường tròn ngoại tiếp tam giác .
- Tính bán kính của đường tròn ngoại tiếp đó.
Hướng dẫn giải:
- Tâm đường tròn ngoại tiếp cách đều ba đỉnh , tức .
- .
-
Từ
Từ .
Giải hệ: Trừ hai phương trình: .
Thay vào tìm : .
Vậy tâm ngoại tiếp là .
- Bán kính .
Bài tập 2 (Lập trình Game - Va chạm và Tọa độ)
Trong một trò chơi điện tử 2D, một con tàu vũ trụ đang ở tọa độ di chuyển theo vectơ vận tốc (đơn vị: mét/giây). Một trạm vũ trụ cố định nằm tại tọa độ .
- Viết phương trình tọa độ vị trí của con tàu vũ trụ sau thời gian giây.
- Hỏi sau bao nhiêu giây thì con tàu bay đến gần trạm vũ trụ nhất? Khoảng cách ngắn nhất đó bằng bao nhiêu?
Hướng dẫn giải:
- Sau giây, vectơ độ dịch chuyển của con tàu là .
Tọa độ của con tàu tại thời điểm là: - Khoảng cách bình phương từ con tàu đến trạm là:Khoảng cách là .
Giá trị nhỏ nhất đạt được tại giây.
Điều này có nghĩa là con tàu đi thẳng xuyên qua đúng vị trí trạm vũ trụ tại thời điểm s!
Tự kiểm tra kiến thức
Các thẻ lấy từ nội dung bài học. Với câu điền khuyết, bấm vào dấu “…” để chọn cụm từ phù hợp; với thẻ nhớ lại, em tự đối chiếu và đánh giá.