Guest User

Untitled

a guest
Dec 8th, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. X[]*n,Y[]*n,kX[]*(n-1),kY[]*(n-1)
  2. ## X,Y-координаты точек, kX,kY-координаты контрольных точек ##
  3.  
  4. ## следующий код написан для понимания сути проблем ###
  5. ## вспомогательная величина rki ###
  6. for k in range(0,n):
  7. for i in range(0,n+1):
  8. rki[k][i] = math.pow(kY[k] - Y[i], 2) + math.pow(kX [k] - X[i], 2)
  9. ### здесь нужно зафиксировать k-ую току в массивах kY и kX и отнять ее по очереди от каждой точки соответствующих массивов X и Y ####
  10.  
  11. ### компоненты скорости u и v ####
  12. ### теперь сформируем двумерный массив из точек
  13.  
  14. for k in range(0,n):
  15. for i in range(0,n+1):
  16. u[k][i] = 1 / (2 * math.PI) * (kY[k] - Y[i]) / rki[k][i];
  17. v[k][i] = -1 / (2 * math.PI) * (kX[k] - X[i]) / r2[k][i];
  18. ### компоненты конечной матрицы скоростей на Java ###
  19. aa = new double[controlPoints.size()][points.size()];
  20. for (int k = 0; k < controlPoints.size(); k++) {
  21. for (int i = 0; i < points.size(); i++) {
  22. aa[k][i] = u[k][i] * cosnx.get(k) + v[k][i] * cosny.get(k)
  23.  
  24. def SpeedComponents(KX,KY,X,Y,SpeedCompU,SpeedCompV,cosnX,cosnY,Matrix):
  25. count = 0
  26. while count < n:
  27. for ii, x in enumerate(KX[:]):
  28. for jj, y in enumerate(KY[:]):
  29. for j, yy in enumerate(Y[:]):
  30. for i, xx in enumerate(X[:]):
  31. Rki = math.sqrt(math.pow((KY[jj] - yy), 2) + math.pow( (KX[ii] - xx ) , 2))
  32. uk = 1 / (2 * math.pi) * ((KY[jj] - yy) / math.pow(Rki, 2))
  33. vk = - 1 / (2 * math.pi) * ((KX[ii] - xx) / math.pow(Rki, 2))
  34. SpeedCompU.append(uk)
  35. SpeedCompV.append(vk)
  36. break
  37. break
  38. break
  39. print("Uk ",SpeedCompU[1:])
  40. print("Vk ",SpeedCompV[1:])
  41. count+=1
  42. for cosx in cosnX[1:]:
  43. for cosy in cosnY[1:]:
  44. for x in SpeedCompU[1:]:
  45. for y in SpeedCompV[1:]:
  46. aki = x * cosx + y * cosy
  47. Matrix.append(aki)
  48. break
  49. break
  50. break
  51. print("Компоненты матрицы в виде списка ")
  52. print(Matrix[1:]," n ")
  53.  
  54. double[][] r2 = new double[controlPoints.size()][points.size()];
  55. for (int k = 0; k < controlPoints.size(); k++) {
  56. for (int i = 0; i < points.size(); i++) {
  57. 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);
  58. }
  59. }
  60.  
  61. u = new double[controlPoints.size()][points.size()];
  62. v = new double[controlPoints.size()][points.size()];
  63.  
  64. for (int k = 0; k < controlPoints.size(); k++) {
  65. for (int i = 0; i < points.size(); i++) {
  66. u[k][i] = 1 / (2 * Math.PI) * (controlPoints.get(k).getY() - points.get(i).getY()) / r2[k][i];
  67. v[k][i] = -1 / (2 * Math.PI) * (controlPoints.get(k).getX() - points.get(i).getX()) / r2[k][i];
  68. }
  69. }
Add Comment
Please, Sign In to add comment