Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program untuk menyemak persamaan dua segi tiga yang diberikan

Program untuk menyemak persamaan dua segi tiga yang diberikan

WBOY
WBOYke hadapan
2023-08-25 17:33:03824semak imbas

Dalam soalan ini, kita akan belajar untuk menyemak persamaan dua segi tiga yang diberikan, yang mempunyai banyak kes penggunaan dunia sebenar dari perspektif pengaturcara.

Untuk membina dan mengurus model perkara 2D dan 3D, anda perlu menggunakan sistem CAD, salah satu ciri utama ialah keupayaan untuk membandingkan dua segi tiga.

Sebagai contoh, jurutera yang bekerja pada reka bentuk dan pembinaan mungkin perlu memadankan ukuran asas bangunan dengan pelan tindakan. Jurutera boleh menilai dengan cepat sama ada sudut dan sisi asas sesuai dengan reka letak menggunakan alat CAD, yang mempunyai fungsi terbina dalam untuk memeriksa persamaan dua segi tiga. Ini membantu memastikan kestabilan struktur dan keselamatan bangunan.

Selain itu, model 3D objek dihasilkan menggunakan perisian CAD melalui teknologi cetakan 3D. Untuk memastikan model dicetak dengan tepat dan mengikut perkadaran yang dikehendaki dalam kes ini, semakan persamaan boleh membantu. Ini penting untuk model yang kompleks, kerana mengesahkan persamaan secara manual boleh membosankan dan terdedah kepada ralat.

Pengaturcara dalam bidang robotik boleh memastikan ketepatan pergerakan robot dengan menggunakan alat semakan persamaan. Menyemak persamaan dua segi tiga membantu memastikan pergerakan kompleks yang dibuat oleh lengan robot (selalunya dengan berbilang sendi) adalah tepat dan tetap.

Arahan

Sekarang mari kita fahami beberapa matematik yang terlibat dalam mengira persamaan segi tiga.

Dua segi tiga adalah serupa jika mempunyai ciri-ciri berikut -

  • Sudut pedalaman dua segi tiga adalah sama.

  • Sisi sepadan segi tiga mempunyai kadaran yang sama.

Terdapat tiga kaedah untuk menentukan sama ada dua segi tiga adalah serupa: SSS, SAS dan AA. Mari kita bincangkan secara ringkas setiap teorem.

SSS (Tepi-Tepi-Tepi) Standard

Dalam dua segi tiga diberi, dua segi tiga adalah serupa jika kadaran tiga pasang sisi adalah sama.

Program untuk menyemak persamaan dua segi tiga yang diberikan

Mari kita pertimbangkan dua segi tiga yang diberikan di atas. Jika perkadaran tiga sisi bertentangan adalah sama, dua segi tiga di atas boleh serupa mengikut piawaian SSS, iaitu AC/PR = AB/PQ = CB/RQ

SAS (Side-Angle-Side) Standard

Dalam dua segi tiga yang diberi, dua segi tiga adalah serupa jika kadaran dua pasang sisi adalah sama dan sudut antara dua sisi dalam dua segi tiga adalah sama.

Program untuk menyemak persamaan dua segi tiga yang diberikan

Mengambil segitiga di atas sebagai contoh, jika AB/PQ = BC/QR dan

AA (sudut-sudut) standard

Dalam dua segi tiga diberi, jika mana-mana dua sudut bagi dua segi tiga adalah sama, maka kedua-dua segi tiga adalah serupa.

Program untuk menyemak persamaan dua segi tiga yang diberikan

Jika kita mengambil segitiga di atas sebagai contoh, maka kedua-dua segitiga ini adalah serupa jika

Biasanya, kita akan mendapat koordinat tiga titik segitiga, dan kemudian kita perlu menyemak persamaan. Dalam kes ini, kami akan menggunakan formula ini untuk mengira jarak.

Program untuk menyemak persamaan dua segi tiga yang diberikan

Sebuah program yang menyemak persamaan dua segi tiga yang diberikan apabila koordinat disediakan.

Kaedah

Mari menyahkod keseluruhan program kepada algoritma langkah demi langkah

  • Ambil koordinat tiga titik dua segi tiga sebagai input.

  • Kira panjang antara koordinat menggunakan formula yang dibincangkan di atas iaitu Jarak = Matematik. sqrt(Math.pow(y2-y1,2)+Math.pow(x2-x1,2))

  • Selepas mengira panjang semua sisi dua segi tiga, kira nisbah semua pasangan.

  • Seterusnya, semak sama ada tiga perkadaran adalah sama, jika ya, cetak segi tiga sebagai serupa, jika tidak cetak segi tiga sebagai tidak serupa.

Sekarang, kami akan menulis kod yang melaksanakan algoritma di atas

Contoh

Atur cara C++ untuk menyemak persamaan dua segi tiga yang diberikan apabila koordinat disediakan.

#include <iostream>
#include <cmath>
using namespace std;

int main() {
   double x1 = 0, y1 = 0, x2 = 3, y2 = 0, x3 = 0, y3 = 4; //coordinates of first triangle (x1, y1), (x2, y2), (x3, y3)
   double p1 = 0, q1 = 0, p2 = 6, q2 = 0, p3 = 0, q3 = 8; //coordinates of second triangle (p1, q1), (p2, q2), (p3, q3)
   
   // calculate the distance between the coordinates of the first triangle
   double dist1 = sqrt(pow((x2 - x1), 2) + pow((y2 - y1), 2));
   double dist2 = sqrt(pow((x3 - x2), 2) + pow((y3 - y2), 2));
   double dist3 = sqrt(pow((x1 - x3), 2) + pow((y1 - y3), 2));
   
   // calculate the distance between the coordinates of the second triangle
   double dist4 = sqrt(pow((p2 - p1), 2) + pow((q2 - q1), 2));
   double dist5 = sqrt(pow((p3 - p2), 2) + pow((q3 - q2), 2));
   double dist6 = sqrt(pow((p1 - p3), 2) + pow((q1 - q3), 2));
   
   // calculate the ratio of the length of the triangle
   double ratio1 = dist1/dist4;
   double ratio2 = dist2/dist5;
   double ratio3 = dist3/dist6;
   
   // check if the ratio of all three pairs of sides of the triangle are same, we are using SSS criteria
   if ((ratio1 == ratio2) && (ratio2 == ratio3)) {
      cout << "The two triangles are similar." << endl;
   } else {
      cout << "The two triangles are not similar." << endl;
   }
   
   return 0;
}

Output

The two triangles are similar.

Kerumitan

Kerumitan Masa: O(1) kerana kod ini melakukan bilangan pengiraan tetap tanpa mengira saiz input.

Kerumitan Ruang: O(1) kerana kod menggunakan bilangan pembolehubah tetap untuk menyimpan nilai input dan hasil tanpa mengira saiz input.

Sebuah program yang menyemak persamaan dua segi tiga yang diberikan apabila koordinat disediakan.

Kaedah

Mari menyahkod keseluruhan program kepada algoritma langkah demi langkah

  • Ambil sudut segi tiga sebagai input.

  • Bandingkan sudut dan semak sama ada mana-mana dua sudut segitiga adalah sama, di sini kita menggunakan kriteria AA.

  • Jika mana-mana dua sudut adalah sama, segi tiga yang dicetak adalah serupa, jika tidak, segi tiga yang dicetak tidak serupa.

Sekarang, kami akan menulis kod yang melaksanakan algoritma di atas.

Contoh

Atur cara C++ untuk menyemak persamaan dua segi tiga yang diberi apabila sudut disediakan.

#include <iostream>
using namespace std;

bool check_aa(int a1,int a2,int a3,int a4,int a5,int a6){
   if((a1==a4 || a1==a5 || a1==a6) && (a2==a4 || a2==a5 || a2==a6))
   return true;
   else
   return false;

}
int main(){
   
   // Input:  the angles of the triangles
   double a1 = 30, a2 = 60, a3 = 90; //angles of triangle A
   double a4 = 60, a5 = 90, a6 = 30; //angles of triangle B
   
   
   bool similar= check_aa(a1,a2,a3,a4,a5,a6);
   
   if (similar)
      cout << "The two triangles are similar." << endl;
   else
      cout << "The two triangles are not similar." << endl;
}

输出

The two triangles are similar.

复杂性

时间复杂度:O(1),因为无论输入大小如何,此代码都会执行固定数量的计算。

空间复杂度:O(1),因为代码使用固定数量的变量来存储输入值和结果,而不管输入的大小。

结论

在本文中,我们尝试基于两种情况解释检查两个三角形相似性的方法,一种是提供边作为输入,另一种是提供角度作为输入。我希望这篇文章可以帮助您更好地学习这个概念。

Atas ialah kandungan terperinci Program untuk menyemak persamaan dua segi tiga yang diberikan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam