JavaScript ialah bahasa skrip dipacu objek dan peristiwa yang biasanya berjalan pada penyemak imbas web dan merupakan bahasa skrip yang digunakan untuk mengawal proses interaksi dinamik halaman web. Dalam pembangunan bahagian hadapan, kita selalunya perlu mengira panjang lengkung berdasarkan koordinatnya. Artikel ini akan membincangkan dan meneroka formula untuk mencari panjang lengkung dalam JavaScript.
1. Gambaran Keseluruhan Panjang Lengkung
Dalam geometri, panjang lengkung ialah salah satu sifat bawaan lengkung, yang merujuk kepada panjang lengkok lengkung. Konsep panjang lengkok berasal daripada pengiraan pi Bentuk pengiraan pi ialah: $π = 2l/d$, di mana $l$ mewakili panjang lengkok lilitan dan $d$ mewakili diameter bulatan. Dengan cara yang sama, untuk sebarang lengkung, kita boleh mencari panjangnya dengan mengira panjang lengkok. Pengiraan panjang lengkok memerlukan penggunaan formula kamiran dalam kalkulus, tetapi dalam JavaScript kami lebih bergantung pada kaedah pengiraan berangka untuk mengira panjang lengkung.
2. Pengiraan panjang lengkung
Untuk mencari panjang lengkung dalam JavaScript, formula berikut biasanya digunakan: $L=sum_{i=0}^{n-1} sqrt{(x_{i+ 1}-x_i)^2+(y_{i+1}-y_i)^2}$. Antaranya, $L$ mewakili panjang lengkung, $n$ mewakili bilangan titik lengkung, $x_i$ dan $y_i$ mewakili absis dan ordinat bagi titik $i$th pada lengkung secara bergilir-gilir. Formula ini membahagikan lengkung kepada beberapa segmen garisan kecil Panjang setiap segmen garisan kecil boleh dikira mengikut rumus jarak Euclidean Kemudian panjang semua segmen garisan kecil ditambah untuk mendapatkan panjang lengkung.
Kod sampel adalah seperti berikut:
function getCurveLength(points) { var length = 0; for (var i = 1; i < points.length; i++) { var dx = points[i].x - points[i - 1].x; var dy = points[i].y - points[i - 1].y; length += Math.sqrt(dx * dx + dy * dy); } return length; }
Antaranya, $points$ mewakili set titik pada lengkung, dan setiap titik diwakili sebagai objek dengan absis dan ordinat, seperti yang ditunjukkan di bawah:
var points = [ { x: 0, y: 0 }, { x: 0, y: 10 }, { x: 10, y: 10 }, { x: 10, y: 0 }, { x: 0, y: 0 } ];
Letakkan kod di atas dalam fungsi yang mengira panjang lengkung untuk mendapatkan panjang lengkung.
3. Contoh pengiraan panjang lengkung
Berikut adalah contoh di mana kita menggunakan formula di atas untuk mengira panjang lengkung yang berbeza:
1 >
Keluk Bezier Kuadratik ialah bentuk lengkung yang dibentuk oleh dua titik yang bergerak pada lengkung mengikut titik kawalan tertentu. Formulanya ialah: $B(t)=(1-t)^2P_0+2t(1-t)P_1+t^2P_2$. Antaranya, $P_0$, $P_1$ dan $P_2$ ialah koordinat bagi tiga titik kawalan, $t$ ialah faktor interpolasi, dan julat nilai ialah $[0,1]$. Kami mengandaikan bahawa koordinat titik kawalan ialah $(0,0)$, $(5,10)$ dan $(10,0)$ masing-masing, maka lengkung Bezier kuadratik boleh diperolehi dengan yang berikut kod Panjang:var points = []; for (var t = 0; t <= 1; t += 0.01) { var x = Math.pow(1 - t, 2) * 0 + 2 * t * (1 - t) * 5 + Math.pow(t, 2) * 10; var y = Math.pow(1 - t, 2) * 0 + 2 * t * (1 - t) * 10 + Math.pow(t, 2) * 0; points.push({ x: x, y: y }); } var length = getCurveLength(points); // 得到曲线长度
var points = []; for (var t = 0; t <= 1; t += 0.01) { var x = Math.pow(1 - t, 3) * 0 + 3 * Math.pow(1 - t, 2) * t * 5 + 3 * (1 - t) * Math.pow(t, 2) * 5 + Math.pow(t, 3) * 10; var y = Math.pow(1 - t, 3) * 0 + 3 * Math.pow(1 - t, 2) * t * 10 + 3 * (1 - t) * Math.pow(t, 2) * 5 + Math.pow(t, 3) * 0; points.push({ x: x, y: y }); } var length = getCurveLength(points); // 得到曲线长度
Atas ialah kandungan terperinci Penjelasan terperinci tentang formula untuk mencari panjang lengkung dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!