Singkatnya, soal ini ingin kita untuk menghitung volume dari bangun berikut, dengan tinggi silinder dan jari-jarinya diberikan:
Untuk menyelesaikan soal ini, dibutuhkan pengetahuan tentang integral. Misalkan jari-jari silinder itu r dan tingginya h. Terdapat dua macam kasus, yaitu ketika 2r ≤ h, dan ketika 2r > h (bentuknya menjadi berubah).
Pertama, kita anggap 2r ≤ h sehingga bentuknya persis seperti yang ditunjukkan gambar di atas. Ambil 18 bagian dari bangun itu, sehingga didapatkan bentuk berikut:
Kita cukup mencari volume dari bangun ini, lalu dikali dengan 8. Volume dari bangun ini sama dengan volume dari 2 kali 14 silinder dikurangi dengan volume daerah di daerah perpotongannya. Daerah perpotongan itu memiliki bentuk seperti gambar warna ungu, dan memiliki tampak samping seperti bentuk berwarna merah:
Dengan menganggap bidang s bergeser dari atas ke bawah (yaitu dengan menjalankan x=0 sampai x=r), volume dari bangun perpotongan itu adalah:
∫r0s2dx=∫r0(√r2−x2)2dx=∫r0r2−x2dx
Integral tersebut diselesaikan dengan substitusi trigonometri
Misalkan x=rsinθ, maka dx=rcosθ dθ
Perhatikan bahwa batas-batas integral kita masih dalam x, bukan θ. Untuk itu, kita perlu melakukan perubahan.
Untuk batas bawah:
0=rsinθ0=sinθθ=0
Untuk batas atas:
r=rsinθ1=sinθθ=π/2
Substitusikan ke dalam persamaan:
∫r0r2−x2dx=∫π/20(r2−r2sin2θ)rcosθ dθ=∫π/20r3(1−sin2θ)cosθ dθ=r3(∫π/20cosθ dθ−∫π/20sin2θcosθ dθ)=r3([sinθ]π/20−[13sin3θ]π/20)=r3(1−13)=23r3
Jadi kita sudah dapatkan volume dari bagian perpotongan kedua silinder tersebut. Volume keseluruhannya adalah 8 dikali, luas 2 kali 1/4 tabung dikurangi daerah yang tumpang tindih:
V=8(214πr2h−23r3)=2πr2h−163r3
Sekarang kita beranjak ke kasus berikutnya, ketika 2r > h. Anda dapat membayangkan bentuknya seperti dua koin yang menyatu di bagian tengah. Seperempat dari bangun tersebut berbentuk seperti gambar di kiri:
Volume yang dipotong adalah:
2∫h/20xsdx=2∫h/20x√r2−x2dx
Seperti pada cara yang sebelumnya, kita gunakan substitusi trigonometri.
2∫h/20rsinθ√r2−r2sin2θrcosθ dθ=2∫h/20r3sinθcos2θdθ=2[−13r3cos3θ]h/20=−23[r3cos3θ]h/20
Ups, batas integral masih dalam x. Akan lebih mudah jika θ dikembalikan ke x. Perhatikan bahwa rcosθ=√r2−x2. Jika disubstitusi:
−23[r3cos3θ]h/20=−23[(r2−x2)3/2]h/20
Berhubung kalau dibuka ke bentuk tertutup rumusnya akan memusingkan, jadi saya biarkan dalam bentuk dengan batas atas dan bawah saja.
Volume akhir dari kasus kedua ini adalah 4 dikali 2 dikali, volume setengah silinder yang dikurangi bagian terpotong:
V=4(2((12πr212h)−(−23[(r2−x2)3/2]h/20)))=8(14πr2h+23[(r2−x2)3/2]h/20)
Yap, rumus sudah didapatkan. Selanjutnya tinggal diaplikasikan ke program.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include <cstdio> #include <algorithm> #include <cmath> #include <cstring> #include <string> using namespace std; double A,B; double R,H; double g( double x){ return pow (R*R-x*x,( double )1.5); } int main(){ int r,h; double K = ( double )16/3; double PI = acos (( double )-1); while ( scanf ( "%d%d" , &r, &h) == 2){ R=r; H=h; if (h >= 2*r){ printf ( "%.4lf\n" , (2*PI*R*R*H - K*R*R*R)); } else { A = ( double )0.25*h*R*R*PI; B = ( double )2./3.*(g(0.5*h)-g(0)); printf ( "%.4lf\n" , 8*(A+B)); } } return 0; } |