commit 28ef3dbf6a1dac43867baafa8212482f36401835 Author: changwu <19375188@buaa.edu.cn> Date: Tue May 9 22:19:22 2023 +0800 init-5.9 diff --git a/c_cpp/badraw.py b/c_cpp/badraw.py new file mode 100644 index 0000000..44858d8 --- /dev/null +++ b/c_cpp/badraw.py @@ -0,0 +1,171 @@ +import numpy as np +import random +import math +import numpy as np +import matplotlib.pyplot as plt +import pandas as pd +n = 35 +init1x = np.zeros(n) +init1y = np.zeros(n) +initx = np.zeros(n) +inity = np.zeros(n) +initz = np.zeros(n) +finalx = np.zeros(n) +finaly = np.zeros(n) +finalz = np.zeros(n) +startx = np.zeros(n) +starty = np.zeros(n) +startz = np.zeros(n) +midx = np.zeros(n) +midy = np.zeros(n) +midz = np.zeros(n) +plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] +for i in range(0, n): + # initx[i] = random.random() * 100 + # inity[i] = random.random() * 100 + # initz[i] = random.random() * 100 + # finalx[i] = random.random() * 100 + # finaly[i] = random.random() * 100 + # finalz[i] = random.random() * 100 + # initx[i] = 30*random.random() +30 + # inity[i] = 30*random.random() +30 + # initz[i] = 0 + startx[i] = 2+i*40/n + starty[i] = 2-abs(i-17)*20/17 + startz[i] = 75 + initx[i] = 2+i*40/n + initz[i] = 75 + inity[i] = 22-abs(i-17)*20/17 + midx[i] = 5+3*int(i%7) + midy[i] = 60 + midz[i] = 75+3*int(i/7) + # finalx[i] = 2+i*40/n + # finalz[i] = 70 + # finaly[i] = 22-abs(i-22)*20/22 + if i < 17: + psai = 2*math.pi*i/22 + finalx[i] = 80 + finaly[i] = 80+10*math.cos(psai) + finalz[i] = 80+10*math.sin(psai) + else: + psai = 2*math.pi*(i-22)/22 + finalx[i] = 80+10*math.cos(psai) + finaly[i] = 80 + finalz[i] = 80+10*math.sin(psai) + # initx[i] = 20 + 8 * math.cos(math.pi * 2 * i / n) + # inity[i] = 80 + 8 * math.sin(math.pi * 2 * i / n) + # finalx[i] = 30 + i * 10 / n + # finaly[i] = 15 + i * 15 / n + # initx[i] = 30 + i * 10 / n + # inity[i] = 15 + i * 15 / n + # finalx[i] = 85-15*abs(i-7)/7 + # finaly[i] = 60-40*i/n + # initx[i] = 10 + 2 * i * 11 / n + # inity[i] = 20 #+ 10 * math.sin(math.pi * 2 * i / n) + # finalx[i] = 50 - 2 * i * 11 / n + # finaly[i] = 65 + # if i <10: + # initx[i] = random.random()*30 + # else: + # initx[i] = random.random()*30 + 70 + # inity[i] = random.random()*30 + # finalx[i] = 50 + 10 * math.cos(math.pi * 2 * i / n) + # finaly[i] = 80 + 10 * math.sin(math.pi * 2 * i / n) +placexs = [] +placeys = [] +placezs = [] +tmpx = [] +tmpy = [] +tmpz = [] +a1 = 0.5/math.sqrt(5) +for t in range(0,40): + for cnt in range(0,n): + placexs.append(startx[cnt]) + placeys.append(starty[cnt]+0.5*t) + placezs.append(startz[cnt]) + +for t in range(0,44): + for cnt in range(0,n): + tmpx.append(midx[cnt]+a1*t) + tmpy.append(midy[cnt]+2*a1*t) + tmpz.append(midz[cnt]) + +xplace1 = np.loadtxt("D:/wsf2x.csv",delimiter=",", dtype=float) +xplace2 = np.loadtxt("D:/wsf1x.csv",delimiter=",", dtype=float) + +yplace1 = np.loadtxt("D:/wsf2y.csv",delimiter=",", dtype=float) +yplace2 = np.loadtxt("D:/wsf1y.csv",delimiter=",", dtype=float) + +zplace1 = np.loadtxt("D:/wsf2z.csv",delimiter=",", dtype=float) +zplace2 = np.loadtxt("D:/wsf1z.csv",delimiter=",", dtype=float) +print(yplace1[14,20]) +placex = [] +placey = [] +placez = [] +xplace = np.hstack((xplace1,xplace2)) +yplace = np.hstack((yplace1,yplace2)) +zplace = np.hstack((zplace1,zplace2)) +for i in range(0, n): + for j in range(0, 4000): + if (xplace[i, j]) != 0: + placex.append(xplace[i, j]) + placey.append(yplace[i, j]) + placez.append(zplace[i, j]) +plt.title("无人机轨迹散点图") + +# plt.plot([70,80],[35,55]) +ax = plt.axes(projection='3d') + +z = np.linspace(0, 80, 1000) +theta1 = np.linspace(0,2*np.pi,30) +fai = np.linspace(0,2*np.pi,30) +theta1,fai = np.meshgrid(theta1,fai) +xr = 55+6*np.cos(theta1)*np.sin(fai) +yr = 80+6*np.sin(theta1)*np.sin(fai) +zr = 65+6*np.cos(fai) +ax.plot_surface(xr, yr, zr,cmap='viridis', edgecolor='none') +#调用 ax.plot3D创建三维线图 +# x = 50+7.5*np.cos(theta) +# y = 60+7.5*np.sin(theta) + +# ax.plot_surface(x, y, z,cmap='viridis', edgecolor='none') + +# x1 = np.linspace(0,40,100) +# z1 = np.linspace(0,60,100) +# x1,z1 = np.meshgrid(x1,z1) +# y1 = -0.5*x1+40 +# ax.plot_surface(x1, y1, z1,cmap='viridis', edgecolor='none') +# y2 = np.linspace(0,20,80) +# y2,z1 = np.meshgrid(y2,z1) +# x2 = 60-y2 +# ax.plot_surface(x2, y2, z1,cmap='viridis', edgecolor='none') +# z3 = 60 +# x3 = np.linspace(0,40,100) +# x3, z3 = np.meshgrid(x3,z3) +# y3 = 40-0.5*x3 +# ax.plot_surface(x3, y3, z3,cmap='viridis', edgecolor='none') + +# att1 = pd.DataFrame(data= placex) +# att2 = pd.DataFrame(data= placey) +# att3 = pd.DataFrame(data= placez) +# att4 = pd.DataFrame(data= placexs) +# att5 = pd.DataFrame(data= placeys) +# att6 = pd.DataFrame(data= placezs) +# att7 = pd.DataFrame(data= tmpx) +# att8 = pd.DataFrame(data= tmpy) +# att9 = pd.DataFrame(data= tmpz) + +# att1.to_csv('D:\\fig:x1.csv') +# att2.to_csv('D:\\fig:y1.csv') +# att3.to_csv('D:\\fig:z1.csv') +# att4.to_csv('D:\\fig:x2.csv') +# att5.to_csv('D:\\fig:y2.csv') +# att6.to_csv('D:\\fig:z2.csv') +# att7.to_csv('D:\\fig:x3.csv') +# att8.to_csv('D:\\fig:y3.csv') +# att9.to_csv('D:\\fig:z3.csv') + +ax.scatter3D(placex,placey,placez,c='blue',s = 0.1) +#ax.scatter3D(placexs,placeys,placezs,c='blue',s = 0.1) +#ax.scatter3D(tmpx,tmpy,tmpz,c='blue',s = 0.1) +plt.show() \ No newline at end of file