def main():

    # 적분 구간 == 단면의 위 끝과 아래 끝
    y_min = 0.0
    y_max = 0.12
    #적분 구간을 나눌 갯수
    n = 120

    # 단면의 면적을 1차 적분으로 구함
    area = num_int.trapezoid1(f, y_min, y_max, n)
    moment_first = num_int.trapezoid1(g, y_min, y_max, n)

    centroid = moment_first / area

    print "area =", area
    print "moment =", moment_first
    print "centroid =", centroid

    y_list = pylab.arange(y_min, y_max, 1e-6)
    w_list = [f(y) for y in y_list]

    # 단면 표시
    pylab.fill_between(y_list, w_list)
    # 도심 위치에 수직선 표시
    pylab.axvline(x=centroid, c="r")

    # 가로축 세로축 비율을 같게 함
    pylab.axis("equal")
    # 모눈 표시
    pylab.grid()

    pylab.show()
Exemple #2
0
    def test_trapezoid(self):
        """
        1차 적분 함수를 검증
        :return:
        """

        # 함수의 정적분을 구함
        result = num_int.trapezoid1(f, self.xi_rad, self.xe_rad, 360)

        self.assertAlmostEqual(self.expected, result, places=6)
Exemple #3
0
def main():
    y_min = 0.0
    y_max = 0.12
    n = 120
    area = num_int.trapezoid1(f, y_min, y_max, n)
    moment_first = num_int.trapezoid1(g, y_min, y_max, n)

    centroid = moment_first / area
    print "area =", area
    print "moment =", moment_first
    print("centroid = %g" % centroid)

    y_list = pylab.arange(y_min, y_max, 1e-6)
    w_list = [f(y) for y in y_list]

    pylab.fill_between(y_list, w_list)
    pylab.axvline(x=centroid, c='r')
    pylab.axis('equal')
    pylab.grid()
    pylab.show()
Exemple #4
0
def main():
    # 적분 구간 == 단면의 위 끝과 아래 끝
    y_min = 0.0
    y_max = 0.12
    # 적분 구간을 나눌 갯수
    n = 120

    # 도심 계산 시작

    # 단면의 면적을 1차 적분으로 구함
    area = num_int.trapezoid1(f, y_min, y_max, n)
    # 단면의 1차 모멘트를 1차 적분으로 구함
    moment_first = num_int.trapezoid1(g, y_min, y_max, n)

    # 도심을 계산함
    centroid = moment_first / area

    # 도심 계산 끝

    # 결과 값 표시
    print "area =", area
    print "moment =", moment_first
    print("centroid = %g" % centroid)

    # 그림 준비 시작
    y_list = pylab.arange(y_min, y_max, 1e-6)
    w_list = [f(y) for y in y_list]

    # 단면 표시
    pylab.fill_between(y_list, w_list)
    #도심 위치에 수직선 표시 axvline
    pylab.axvline(x=centroid, c='r')

    # 가로축 세로축 비율을 같게 함
    pylab.axis('equal')
    # 모눈 표시
    pylab.grid()
    # 그림 준비 끝

    # 그림 표시
    pylab.show()
Exemple #5
0
def main():
    #
    y_min = 0.0
    y_max = 0.12
    #
    n = 120

    #

    #
    area = num_int.trapezoid1(f, y_min, y_max, n)
    #
    moment_first = num_int.trapezoid1(g, y_min, y_max, n)

    #
    centroid = moment_first / area

    # 도심 계산 끝

    # 결과 값 표시
    print "area =", area
    print "moment =", moment_first
    print("centroid = %g" % centroid)

    # 그림 준비 시작
    y_list = pylab.arange(y_min, y_max, 1e-6)
    w_list = [f(y) for y in y_list]

    # 단면 표시
    pylab.fill_between(y_list, w_list)
    # 도심 위치에 수직선 표시
    pylab.axvline(x=centroid, c='r')

    #
    pylab.axis('equal')
    #
    pylab.grid()
    #

    #
    pylab.show()