python; 위 원과 아래 원 크기가 다른 원기둥(원뿔대) 부피 구하기 (정적분 회전체 체적 활용)

    y=f(x)를 x축으로 회전시킨 회전체의 체적을 구하는 공식은 다음과 같다.

     

    $V_{x}=\pi\int_{a}^{b}\left\{ f(x)\right\}^{2}dx$

     

    적분을 계산하기위해 sympy 사용.

    import sympy as sy
    import math
    
    r1 = float(input('원1 반지름:'))
    r2 = float(input('원2 반지름:'))
    h = float(input('높이:'))
    
    if(r1 >= r2):
        c1 = r1
        c2 = r2
    elif(r2 > r1):
        c1 = r2
        c2 = r1
    
    obi = (c2-c1)/h
    x = sy.Symbol('x')
    f1 = obi*x+c1
    res = (math.pi)*sy.Integral(f1**2, (x, 0, h)).doit()
    print(res)

    댓글