Средняя линия развала из точек - PullRequest
0 голосов
/ 22 марта 2020

Основная цель этого сценария - получить среднюю линию развала аэродинамического профиля из ряда точек. Первый шаг - организовать точки и найти среднюю точку между ними. Их из этих точек получают среднюю функцию, используя polyval. Проблема возникает сзади, где средняя линия развала не проходит между двумя конечными точками.

xcordcb = back.iloc[:, 0]
ycordcb = back.iloc[:, 1]
xcordcb = xcordcb.values
xcordcb = xcordcb.astype(float)
ycordcb = ycordcb.values
ycordcb = ycordcb.astype(float)

elemxb = np.count_nonzero(xcordcb) - 1
i = 0
a = 0
avgxcordcb = np.array([])
avgycordcb = np.array([])

for i in range(elemxb):
    if ((abs(ycordcb[0+a]))-(abs(ycordcb[1+a])) > 0.000001):
        x = (xcordcb[0+a] + xcordcb[1+a])/2
        y = (ycordcb[0+a] + ycordcb[1+a])/2
        a = a + 1
        i = i + 1
        avgxcordcb = np.append(avgxcordcb, x)
        avgycordcb = np.append(avgycordcb, y)
    else:
        a = a + 1
        i = i + 1

x = np.linspace(-2, 2, 100)
mcamberlcoefb = poly.polyfit(avgxcordcb, avgycordcb, 3)
y = poly.polyval(x, mcamberlcoefb)
x = sy.Symbol('x')
meanclineTE = mcamberlcoefb[0] + mcamberlcoefb[1]*x + mcamberlcoefb[2]*x**2

Любая помощь или идеи будут очень признательны.

Mean Line Leaves BeforeGeneral Purpose and Mean Lines

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...