我正在使用安装在伺服系统上的距离传感器的机器人。我编写的代码通过wifi模块发送数据,看起来像这样" 10 .4"。该数据对应于距离(cm)伺服角度"。我有这个代码与机器人wifi模块通信(机器人连接到计算机wifi)。
Socket robotOutput = new Socket(192.168.1.1, 228);
BufferedReader data = new BufferedReader(robotOutput.getInputStream());
现在data
应该处理输入流,我想要做的是获取输入距离和伺服角度并绘制数据,以产生雷达"情节。这是我被卡住的地方。假设我的代码在下面工作以提取两个数字,我将如何在我的计算机上实时绘制这些数字?我应该将所有输入数据添加到数组中,然后在获得新值后立即重新绘制所有值吗?
while(1)
{
ArrayList<Double> degree = new ArrayList<Double>();
ArrayList<Double> radius = new ArrayList<Double>();
double x, y;
String line = data.readLine();
String[] strs = line.trim().split("\\s+");
radius.add(Double.parseDouble(strs[0]);
degree.add(Double.parseDouble(strs[1]);
for(int i = 0; i < radius.size(); i++)
{
x = radius.get(i) * cos(degree.get(i));
y = radius.get(i) * sin(degree.get(i));
plot(x,y); ??? Not really sure where to go here
}