gpt4 book ai didi

java - 在Processing/Java的链接列表中找到5个最大的值

转载 作者:行者123 更新时间:2023-12-01 13:43:07 24 4
gpt4 key购买 nike

我得到了这段代码,它从跟踪手的运动传感器获取 x,y 位置。该应用程序在屏幕中间画一个圆圈,然后检测手是否在圆圈之外。 enter image description here 当手位于圆外时,函数会检查手与圆中心的距离。我试图将手位于链接列表中的圆之外时的距离数据存储起来。

我需要获取前 5 个最大值以及每次手在圆圈外的持续时间。

这是迄今为止我的代码;为了简单起见,我省略了一堆用于设置运动传感器的代码,所以这是半伪代码。无论如何,我的主要问题是从列表中获取我需要的值。我也包括圆类。我进行圆的外部计算以及圆类内部的计算距离。

请告诉我这是否有意义!运动传感器以 200 fps 的速度读取数据,因此效率是这里的一个因素。最重要的是,我只期望手来回移动,一次在圆圈之外几秒钟。

import java.util.*;
LinkedList<Integer> values;

public void setup()
{
size(800, 300);
values = new LinkedList<Integer>();
HandPosition = new PVector(0, 0); //This is getting x,y values from motion sensor
aCircle = new Circle(); //my class just draws a circle to center of screen
aCircle.draw();
}

public void draw()
{

if (aCircle.isOut(HandPosition)) /* detects if movement is outside of circle. Would it make more sense for this to be a while loop? I also need to start a timer as soon as this happens but that shouldn't be hard */
{
values.add(aCircle.GetDistance(HandPosition)); //gets how far the hand is from center of circle and adds it to linked list. Allegedly at least, I think this will work.
/*So I need to get the 5 largest value from inside of my linked list here.
I also need to start a timer*/
}
}


class Circle {

PVector mCenter;
int mRadius;

Circle()
{
// initialize the center position vector
mCenter = new PVector(0,0);
mRadius = 150;
mCenter.set((width/2),(height/2));
}

boolean isOut(PVector Position) //detects if hand position is outside of circle
{
return mCenter.dist(Position) <= mRadius;
}

float GetDistance(PVector Position) //detects how far the hand is from the center of circle
{
return mCenter.dist(Position);
}

void draw() {
ellipse(mCenter.x, mCenter.y, mRadius, mRadius);
}

}

我也是处理新手,所以如果这些方法有效,请不要犹豫。

最佳答案

您可以在此处使用Collections.sort(List);,然后从列表中取出最后五个元素。

Collection.Sort()

关于java - 在Processing/Java的链接列表中找到5个最大的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20539373/

24 4 0
文章推荐: c - 字符串化 CMake 预处理器 token
文章推荐: xmpp - 如何从 XMPP 获取 ejabberd 的聊天记录
文章推荐: html - Ionic - 多个元素填充父
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com