Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- X[]*n,Y[]*n,kX[]*(n-1),kY[]*(n-1)
- ## X,Y-координаты точек, kX,kY-координаты контрольных точек ##
- ## следующий код написан для понимания сути проблем ###
- ## вспомогательная величина rki ###
- for k in range(0,n):
- for i in range(0,n+1):
- rki[k][i] = math.pow(kY[k] - Y[i], 2) + math.pow(kX [k] - X[i], 2)
- ### здесь нужно зафиксировать k-ую току в массивах kY и kX и отнять ее по очереди от каждой точки соответствующих массивов X и Y ####
- ### компоненты скорости u и v ####
- ### теперь сформируем двумерный массив из точек
- for k in range(0,n):
- for i in range(0,n+1):
- u[k][i] = 1 / (2 * math.PI) * (kY[k] - Y[i]) / rki[k][i];
- v[k][i] = -1 / (2 * math.PI) * (kX[k] - X[i]) / r2[k][i];
- ### компоненты конечной матрицы скоростей на Java ###
- aa = new double[controlPoints.size()][points.size()];
- for (int k = 0; k < controlPoints.size(); k++) {
- for (int i = 0; i < points.size(); i++) {
- aa[k][i] = u[k][i] * cosnx.get(k) + v[k][i] * cosny.get(k)
- def SpeedComponents(KX,KY,X,Y,SpeedCompU,SpeedCompV,cosnX,cosnY,Matrix):
- count = 0
- while count < n:
- for ii, x in enumerate(KX[:]):
- for jj, y in enumerate(KY[:]):
- for j, yy in enumerate(Y[:]):
- for i, xx in enumerate(X[:]):
- Rki = math.sqrt(math.pow((KY[jj] - yy), 2) + math.pow( (KX[ii] - xx ) , 2))
- uk = 1 / (2 * math.pi) * ((KY[jj] - yy) / math.pow(Rki, 2))
- vk = - 1 / (2 * math.pi) * ((KX[ii] - xx) / math.pow(Rki, 2))
- SpeedCompU.append(uk)
- SpeedCompV.append(vk)
- break
- break
- break
- print("Uk ",SpeedCompU[1:])
- print("Vk ",SpeedCompV[1:])
- count+=1
- for cosx in cosnX[1:]:
- for cosy in cosnY[1:]:
- for x in SpeedCompU[1:]:
- for y in SpeedCompV[1:]:
- aki = x * cosx + y * cosy
- Matrix.append(aki)
- break
- break
- break
- print("Компоненты матрицы в виде списка ")
- print(Matrix[1:]," n ")
- double[][] r2 = new double[controlPoints.size()][points.size()];
- for (int k = 0; k < controlPoints.size(); k++) {
- for (int i = 0; i < points.size(); i++) {
- r2[k][i] = Math.pow(controlPoints.get(k).getY() - points.get(i).getY(), 2) + Math.pow(controlPoints.get(k).getX() - points.get(i).getX(), 2);
- }
- }
- u = new double[controlPoints.size()][points.size()];
- v = new double[controlPoints.size()][points.size()];
- for (int k = 0; k < controlPoints.size(); k++) {
- for (int i = 0; i < points.size(); i++) {
- u[k][i] = 1 / (2 * Math.PI) * (controlPoints.get(k).getY() - points.get(i).getY()) / r2[k][i];
- v[k][i] = -1 / (2 * Math.PI) * (controlPoints.get(k).getX() - points.get(i).getX()) / r2[k][i];
- }
- }
Add Comment
Please, Sign In to add comment