我正在使用覆盆子pi进行绘图机器人的最后一年项目,我必须在python中编写反向运动学代码,反向运动学的方程式完成文本文件包含我想运行坐标的坐标方程式中的文本文件然后产生结果。
这只是文本文件的示例。
x y z
38 38 0
53 38 0
68 38 0
83 38 0
98 38 0
113 38 0
128 38 0
143 38 0
158 38 0
173 38 0
188 38 0
188 53 0
188 68 0
188 83 0
188 98 0
188 113 0
print "\nReading the entire file at once."
text_file = open("read_it.txt","r")
print text_file.read()
text_file.close()
import math
import sys
Yo=350
Lo=16
L1=220
L2=220
L3=146
angle=180
angle2=360
x=188(these once actually should be read from the text file)
y=188(these once actually should be read from the text file)
Xe=math.sqrt(math.pow(x,2)+math.pow(y,2))
Ye=y
sin=math.sin
cos=math.cos
from math import pi
Xp=Xe-Lo-(L3*math.cos(-90))
Yp=Ye-Yo-(L3*math.sin(-90))
b=math.sqrt(math.pow(Xp,2)+math.pow(Yp,2))
alpha=math.atan((math.sqrt(4*math.pow(L2,2)-math.pow(b,2)))/b)
gamma=math.atan((Yp/Xp))
Theta3=(alpha*angle2)/pi
Theta2=(-180/pi)*(alpha + gamma)
Theta4=-90-Theta2-Theta3
print " Theta2= ",(-180/pi)*(alpha + gamma)
print " Theta3= ",(alpha*angle2)/pi
print " Theta4= ",-90-Theta2-Theta3
答案 0 :(得分:0)
你的问题是你没有"捕获数据"你只是打开文件并阅读它,然后关闭文件。
对于初学者,您需要遍历文件的输出。我建议你参考https://docs.python.org/2/tutorial/inputoutput.html
要从文件中读取行,可以循环遍历文件对象。这个 内存高效,快速,并导致简单的代码:
for line in f:
print line
This is the first line of the file.
Second line of the file
您可能希望按如下方式捕获列表中的数据:
angles_list = []
for line in f:
angles_list.append(line)
有关数据结构的更多信息,请参阅https://docs.python.org/2/tutorial/datastructures.html
通过这种方式,您将能够从列表中访问数据。