标签: processing

如何在Eclipse(Java)和Processing for Arduino中使用外部库

我可以通过Eclipse 在Eclipse中通过Processing获得Arduino教程,从而获得Arduino的功能 .

但是,我遇到了一个问题; 我无法使用诸如Servo库之类的库或用于EL线的库.我该怎么做?可能吗?

java eclipse processing arduino

5
推荐指数
1
解决办法
1377
查看次数

通过Processing/Arduino控制Spotify

我正在使用Arduino微控制器为Spotify制作一个有形的控制器(就像来自Jordi Parra的那个,http://vimeo.com/21387481#at=0).

我有一个Processing sketch运行,它使用Arduino的数据进行所有计算.我希望这个Processing sketch能够控制Spotify中的不同选项,如:Next,Previous,Play/Pause,Volume Up/Down,Shuffle.

现在我使用额外的Arduino Leonardo来模拟按键,而AutoHotKey会监听这些并将它们发送给Spotify.它不能很好地工作,我只有有限的选择.

我希望在获得更多控制权的同时摆脱额外的Arduino.我正在研究一个Windows的东西,所以Apple脚本不适用(对我来说).

是否有可能从Processing中控制Spotify应用程序?或者是否可以使用库在Processing中创建新的Spotify应用程序?

提前谢谢了!

保罗

processing arduino spotify

5
推荐指数
1
解决办法
3465
查看次数

覆盖鼠标的速率设置.创建我自己的鼠标速率算法

我正在和患有脑瘫的残疾儿童一起工作.一个孩子的精细运动控制有限,所以她目前使用操纵杆来控制鼠标,并且它的移动速度设置得非常低.这对她很有用,因为她可以点击屏幕上的所有按钮,但我认为我们可以做得更好 - 当她想要遍历整个屏幕时需要一个年龄(大约10秒).

我的假设是她的大脑很好,只有她的运动控制能力差.如果这是真的,我相信一个低速启动但经历恒定加速的鼠标对她来说会更好,因为它会提高速度并在穿越整个屏幕时变得快速.如果这样可行,那么我们可以调整PID控制,以及为大量残疾人设置速度/加速度,从而加快他们的访问速度,从而加快他们的学习和发展.

但我不知道建立这个的最佳方式 - 欢迎所有建议,想法,链接和提示.

首先,我尝试使用Processing和Java,并使用mouseListener和Robot来控制光标.我不相信这是最好的方法,因为我正在读光标位置然后写入它,所以我最好的尝试仍然会让光标跳转,并且没有平稳的移动.它在Java中是否可以实现?我是否需要使用某种驱动程序从USB读取鼠标输入,然后将屏幕上的光标替换为我自己的?

我制作了几个视频来说明我想要带来的效果.

现状(我的插图是将光标从箭头键上移开) http://www.youtube.com/watch?v=3ZhQCg5DJt8

我想要的新行为(鼠标加速) http://www.youtube.com/watch?v=JcBK_ZCFGPs

如果它有用,我用于制作这些演示的处理代码将在下面复制:

现状演示:

import java.awt.AWTException;
import jav
a.awt.Robot;

Robot robot;
int i = 0;
int j = 0;

void setup() {
  setupDotgame();
  try { 
    robot = new Robot();
  } 
  catch (AWTException e) {
    e.printStackTrace();
  }
  robot.mouseMove(screenWidth/2, screenHeight/2);
}

void draw() {
  //println(frameCount);
  robot.mouseMove(screenWidth/2+8*i, screenHeight/2+8*j);
  drawDotgame();
}

void keyPressed() {
  if (keyCode == UP) {
    j--;
  } 
  else if (keyCode == DOWN) {
    j++;
  }
  else if (keyCode == …
Run Code Online (Sandbox Code Playgroud)

java processing accessibility awtrobot mouselistener

5
推荐指数
1
解决办法
233
查看次数

某个z深度的xy位置

在处理(java方言)中有方法screenX,screenY(和screenZ,但我们现在跳过它).

假设我有一个xyz = 50,100,500的对象.然后使用screenX和screenY,你现在可以在画布上显示它们的位置.

float x = screenX(50, 100, 500); float y = screenY(50, 100, 500);

这里是参考:http: //processing.org/reference/screenX_.html

我感兴趣的是反方法.例如,我想在x = 175和y = 100的画布上使用球体到apear.球体应该具有700的az.然后,实际的x和y位置在z = 700处,使其在画布上以175,100的形式出现?

所以该方法将是float unscreenX(float x, float y, float z),它将返回x值.

我的数学/编程技巧不是那么先进(让我们称之为糟糕)(我更像是设计师)所以我正在寻求一些帮助.我已经准备好在加工板上问过了,但是这里有更多的人对矩阵等有更深入的了解.

处理中的常规screenX方法可以在这里找到:https: //github.com/processing/processing/blob/master/core/src/processing/opengl/PGraphicsOpenGL.java

public float screenX(float x, float y, float z) {
    return screenXImpl(x, y, z);
  }

protected float screenXImpl(float x, float y, float z) {
    float ax =
      modelview.m00*x + modelview.m01*y + modelview.m02*z + modelview.m03;
    float ay =
      modelview.m10*x + modelview.m11*y …
Run Code Online (Sandbox Code Playgroud)

java opengl math 3d processing

5
推荐指数
1
解决办法
926
查看次数

使用Processing在Android SDK中编译build.xml时出现问题

我正在运行最新版本的Processing(v2.1)和最新版本的Android SDK.我根据Processing网站上的教程安装了SDK,但该教程非常过时,我在该主题上找到的任何其他教程也是如此.当我在Processing Android模式下运行任何Android应用程序时,我收到此编译器错误:

-set-mode-check:

-set-debug-files:

-check-env:
Android SDK Tools Revision 22.3.0
Installed at /Users/anonymous/Desktop/Programming/adt-bundle-mac-x86_64-20131030/sdk

-setup:
     [echo] Project Name: FirstAndroid
Project Type: Application

-set-debug-mode:

-debug-obfuscation-check:

-pre-build:

-build-setup:
Using latest Build Tools: 19.0.0
     [echo] Resolving Build Target for FirstAndroid...
Project Target:   Android 2.3.3
API level:        10
     [echo] ----------
     [echo] Creating output directories if needed...
    [mkdir] Created dir: /var/folders/hw/4lr3l8jx2qs7rkk_m29qmm343hkg0f/T/android4330892161628182717sketch/bin
    [mkdir] Created dir: /var/folders/hw/4lr3l8jx2qs7rkk_m29qmm343hkg0f/T/android4330892161628182717sketch/bin/res
    [mkdir] Created dir: /var/folders/hw/4lr3l8jx2qs7rkk_m29qmm343hkg0f/T/android4330892161628182717sketch/bin/rsObj
    [mkdir] Created dir: /var/folders/hw/4lr3l8jx2qs7rkk_m29qmm343hkg0f/T/android4330892161628182717sketch/bin/rsLibs
    [mkdir] Created dir: /var/folders/hw/4lr3l8jx2qs7rkk_m29qmm343hkg0f/T/android4330892161628182717sketch/gen
    [mkdir] Created dir: /var/folders/hw/4lr3l8jx2qs7rkk_m29qmm343hkg0f/T/android4330892161628182717sketch/bin/classes
    [mkdir] Created dir: /var/folders/hw/4lr3l8jx2qs7rkk_m29qmm343hkg0f/T/android4330892161628182717sketch/bin/dexedLibs …
Run Code Online (Sandbox Code Playgroud)

java ant processing android compilation

5
推荐指数
1
解决办法
6535
查看次数

将处理草图转换为可执行文

我正在使用处理,无法弄清楚如何将我的处理草图转换为.exe文件.到目前为止没有任何工作.

我在处理草图中的不同文件夹中有很多图像,我似乎无法弄清楚我需要采取的步骤以获得可执行文件和它所在的文件夹(您可以从互联网上下载的类型)

java processing exe export jar

5
推荐指数
1
解决办法
1万
查看次数

展开SimpleMapApp - 缺少图像文件

我正在开发一个使用unfoldingmaps进行处理的应用程序.

下面是处理中展开的示例代码

import de.fhpotsdam.unfolding.*;
import de.fhpotsdam.unfolding.geo.*;
import de.fhpotsdam.unfolding.utils.*; 

UnfoldingMap map;

void setup() {
    size(800, 600, P2D);
    map = new UnfoldingMap(this);
    MapUtils.createDefaultEventDispatcher(this, map);
}

void draw() {
    map.draw();
}
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误消息

The file "http://a.www.toolserver.org/tiles/bw-mapnik/2/1/2.png" is missing or inaccessible, make sure the URL is valid or that the file has been added to your sketch and is readable.
The file "http://a.www.toolserver.org/tiles/bw-mapnik/2/2/3.png" is missing or inaccessible, make sure the URL is valid or that the file has been added to your sketch and is …
Run Code Online (Sandbox Code Playgroud)

processing

5
推荐指数
2
解决办法
1163
查看次数

统一点阵列和管理片段着色器坐标系统

我的目标是将一个点数组传递给着色器,计算它们与碎片的距离,并用一个渐变的圆圈绘制它们,这个圆形取决于该计算.

例如:
在此输入图像描述
(从我在着色器玩具上设置工作示例)

不幸的是,我不清楚如何计算和转换在着色器内传递的处理坐标.

我目前正在尝试将两个浮点数 - 一个用于x位置,一个用于每个点的y位置 - 通过一个制服传递到着色器.然后在着色器中迭代遍历每个点,如下所示:

#ifdef GL_ES
precision mediump float;
precision mediump int;
#endif

uniform float sourceX[100];
uniform float sourceY[100];
uniform vec2 resolution;

in vec4 gl_FragCoord;

varying vec4 vertColor;
varying vec2 center;
varying vec2 pos;

void main()
{
    float intensity = 0.0;

    for(int i=0; i<100; i++)
    {
        vec2 source = vec2(sourceX[i],sourceY[i]);
        vec2 position = ( gl_FragCoord.xy / resolution.xy );
        float d = distance(position, source);
        intensity += exp(-0.5*d*d);
    }

    intensity=3.0*pow(intensity,0.02);

    if (intensity<=1.0) 
        gl_FragColor=vec4(0.0,intensity*0.5,0.0,1.0); …
Run Code Online (Sandbox Code Playgroud)

opengl processing shader glsl fragment-shader

5
推荐指数
1
解决办法
1028
查看次数

SimpleDateFormat始终以错误的时区返回1970.01.17

我一直在使用Processing 3.0,当我的Arduino输出某些值时,我正在尝试打印一个简单的时间戳,但它无效.我尝试使用SimpleDateFormat,但它总是返回1970.01.17 17:48:35 GMT,而不是实际时间.以下是MVCE:

void setup ()
{      
  SimpleDateFormat format = new SimpleDateFormat ("yyyy.MM.dd HH:mm:ss z");
  format.setTimeZone (TimeZone.getDefault());

  long timestamp = getTimeNow();
  println(format.format(new Date(timestamp)));
  println(timestamp);
}

long getTimeNow ()
{
   Date d = new Date ();
   Calendar cal = new GregorianCalendar();

   long current = d.getTime()/1000;
   long timezone = cal.get(Calendar.ZONE_OFFSET)/1000;
   long daylight = cal.get(Calendar.DST_OFFSET)/1000;
   return current + timezone + daylight;
}
Run Code Online (Sandbox Code Playgroud)

输出示例:

1970.01.17 17:48:35 GMT 
1442915733
Run Code Online (Sandbox Code Playgroud)

我怀疑问题是什么getTimeNow(),因为,如果我将值插入在线纪元转换器,我得到正确的时间.上面的代码有什么问题?

java processing date epoch simpledateformat

5
推荐指数
1
解决办法
2602
查看次数

在处理中添加2D数组行

我正在尝试创建一个函数来总结2D数组的行.我已经有了代码,但返回值似乎不起作用.只需要你的想法,因为我需要在24小时内完成:D

int sumRows(int ArrayR[][]){
int row=3;
  int col=3;
  int sumR = ArrayR[0][0];
  //int [] sumR = new int[row];
  for (int i = 0; i<row; i++){
    for (int j = 0; j<col; j++){
    sumR+=ArrayR[i][i];
    }
   }
  return sumR;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

java processing

5
推荐指数
0
解决办法
63
查看次数