File tree 1 file changed +7
-14
lines changed
1 file changed +7
-14
lines changed Original file line number Diff line number Diff line change 3
3
const { PI , sqrt } = Math ;
4
4
const square = x => x * x ;
5
5
6
- // Truncated cone
7
-
8
- const volume = ( h , r1 , r2 ) => ( PI * h / 3 ) *
9
- ( square ( r1 ) + r1 * r2 + square ( r2 ) ) ;
10
-
11
- const area = ( h , r1 , r2 ) => PI * (
12
- square ( r1 ) + square ( r2 ) +
13
- sqrt ( square ( h ) + square ( r2 - r1 ) ) * ( r1 + r2 )
14
- ) ;
15
-
16
- // Reactive cone
6
+ // Reactive Truncated cone
17
7
18
8
class Cone {
19
9
constructor ( r1 , r2 , h ) {
20
10
this . cone = { r1, r2, h } ;
21
11
this . calculate ( ) ;
22
12
}
23
13
calculate ( ) {
24
- const cone = this . cone ;
25
- cone . v = volume ( cone . h , cone . r1 , cone . r2 ) ;
26
- cone . s = area ( cone . h , cone . r1 , cone . r2 ) ;
14
+ const { r1, r2, h } = this . cone ;
15
+ const sr1 = square ( r1 ) ;
16
+ const sr2 = square ( r2 ) ;
17
+ const l = sqrt ( square ( h ) + square ( r2 - r1 ) ) ;
18
+ this . cone . v = PI * h * ( sr1 + r1 * r2 + sr2 ) / 3 ;
19
+ this . cone . s = PI * ( sr1 + sr2 + l * ( r1 + r2 ) ) ;
27
20
}
28
21
set r1 ( x ) {
29
22
this . cone . r1 = x ;
You can’t perform that action at this time.
0 commit comments