我正在尝试在处理(最新版本,3.0a10)中的另一个类中创建SoundFile类型的实例。我可以轻松地播放在类外部定义的声音,如下所示:
import processing.sound.*;
SoundFile clickSound;
void setup() {
size(600, 600);
clickSound = new SoundFile(this, "bike-passing-by.wav");
}
void draw() {
clickSound.play();
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试从类内部创建 SoundFile 实例时,我遇到了麻烦。一个简化的例子是:
import processing.sound.*;
SomeSound fx;
void setup() {
size(600, 600);
fx = new SomeSound();
}
void draw() {
fx.play();
}
class SomeSound {
SoundFile clickSound;
SomeSound() {
clickSound = new SoundFile(this, "bike-passing-by.wav");
}
void play() {
clickSound.play();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到的错误是"The constructor SoundFile(soundTest.SomeSound, String) is undefined". 在 SoundFile 的处理参考中,它指出构造函数定义为 SoundFile(parent, path). 父参数应该是PApplet: …
我正在尝试在 Hype-Processing 中加载 SVG。您可以通过以下方式做到这一点:
HShape d = new HShape("ruby.svg");
Run Code Online (Sandbox Code Playgroud)
最初它适用于我从网上获得的 SVG。但是,当我在 Illustrator 中对对象进行分组并对一些路径进行分组,并尝试再次加载 svg 时,它会失败。错误在下面的要点中。
Could not parse -1 for --display
Ignoring <style> tag.
parsed: M,161.1,29.8,c,0,-.1,...,0
unparsed: .1.4,11.53,11.53,0,0,0,1.9,4.2,8.8,8.8,0,0,1,.6,1,15.61,15.61,0,0,0,2.6,3.9,1,...,29.8,Z
HYPE.pde:1:0:1:0: RuntimeException: shape command not handled: .1.4
Finished.
Could not run the sketch (Target VM failed to initialize).
Run Code Online (Sandbox Code Playgroud)
我假设错误的原因是我正在使用的 illustrator 的 Creative Cloud 版本。或者是这样,或者可能是分组路径的问题。
有其他人遇到过这个错误吗?如果是的话,你会如何解决它?我正在考虑尝试改变 SVG 代码本身。如果没有,是否有办法确保 illustrator 以向后兼容的状态保存?
注意:我主要想对路径进行分组,以便一些对象基于对称性具有相同的颜色。颜色是随机确定的。
每次编译代码时,我都会收到此消息:“用法:PApplet [选项] [sketch args] 请参阅 PApplet 的 Javadoc 以获取解释。” 我正在使用的代码是通过闪存驱动器从我的旧计算机导入的,并且在该计算机上运行良好。当我将文件放入工作区后尝试从 src 打开该文件时,它不认为它是一个项目,因此我将其放入一个新的处理项目中。所以基本上我不确定我是否安装了处理错误或代码中存在错误,但我现在收到此错误,这非常烦人,因为我想处理这个旧项目。这是代码:
package tests;
import processing.core.PApplet;
import processing.core.PFont;
import processing.core.PImage;
import java.util.Random;
public class test1 extends PApplet {
PImage background;
PImage mole;
PImage mallet1;
PImage mallet2;
PFont f;
public int timer;
public int startTime;
public int gameTime;
public int startGameTime;
int score = 0;
Random rnd = new Random();
boolean mouseP = false;
int life = 3;
Mole mole1;
Mole mole2;
Mole mole3;
Mallet mallet;
enum GameState {
MENU,
RUNNING, …Run Code Online (Sandbox Code Playgroud) 我正在尝试遵循一些简单的教程来使用 Eclipse 中的 Java 处理(特别是这个),并且在尝试启动最基本的程序时遇到了一个奇怪的运行时错误。
这是我的代码,基本上是教程的精确副本:
package processingTest;
import processing.core.PApplet;
public class UsingProcessing extends PApplet{
public static void main(String[] args) {
PApplet.main("UsingProcessing");
}
public void settings(){
size(300,300);
}
public void setup(){
fill(120,50,240);
}
public void draw(){
ellipse(width/2,height/2,second(),second());
}
}
Run Code Online (Sandbox Code Playgroud)
没有编译错误,在运行之前一切看起来都很好。但当我这样做时,它只是吐出这样的内容:
java.lang.RuntimeException: java.lang.ClassNotFoundException: UsingProcessing
at processing.core.PApplet.runSketch(PApplet.java:10706)
at processing.core.PApplet.main(PApplet.java:10513)
at processing.core.PApplet.main(PApplet.java:10495)
at processingTest.UsingProcessing.main(UsingProcessing.java:7)
Caused by: java.lang.ClassNotFoundException: UsingProcessing
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at processing.core.PApplet.runSketch(PApplet.java:10699)
... 3 more
Run Code Online (Sandbox Code Playgroud)
我对此很迷失。我研究了几个小时但一无所获,我想我只是不知道要寻找什么。如果需要更多信息,我很乐意提供。
我尝试过的事情:
重新安装处理
重新安装Java
重新安装Eclipse
包括来自Processing的所有其他杂项包 …
当我制作一个普通的曼德尔布罗集时,它工作得很好。但是,当我尝试将其反转为类似泪滴的东西时(请参阅此处了解更多背景信息:https://www.youtube.com/watch?v =mLJJUElQMRY),它完全扭曲了,看起来一点也不像泪滴。
我试过调查它,但似乎我做的一切都是正确的。我通过将 1 除以“c”变量来反转它。
这是我的代码的一部分,它是实际的公式,这是在处理中编写的,只是添加了可视化库的 Java:
zx2=zx*zx;
zy2=zy*zy;
zy = 2*zx*zy + 1.0/(y); //the "1.0/" is what makes it inverted, a normal Mandelbrot set is just y and x on its own.
zx = zx2-zy2 + 1.0/(x);
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,它非常扭曲,甚至看起来都不像泪滴!它看起来是这样的:

然后我尝试通过实现答案的代码来修复它,代码如下:
zx2=zx*zx;
zy2=zy*zy;
zy = 2*zx*zy + (y/(x*x+y*y));
zx = zx2-zy2 + (x/(x*s+y*y));
Run Code Online (Sandbox Code Playgroud)
但虽然它看起来确实是倒置的,但它仍然是扭曲的,看起来不像泪滴。这是一张照片:
。
我在实现代码时做错了什么吗?
我正在尝试画一条代表“弹弓”的线,并且希望它具有最大拉伸长度。
在 p5 中,我在位置 A 和位置 B 之间画一条线:
line(posA.x, posA.y, posB.x, posB.y);
Run Code Online (Sandbox Code Playgroud)
posA 是鼠标 x 和 y。posB 是画布上圆的位置。
我想要做的是限制线的长度,使其长度永远不会超过 40px,但仍然从圆圈指向鼠标。
我已经在信号处理堆栈交换上问过这个问题,但没有得到任何答案。你是我唯一的希望 StackOverflow。请帮忙谢谢:
作为数学论文的一部分,我正在编写一个程序来检测用输入的形状绘制的线的交点。
例如,在下面的形状中,多边形是给定大小的输入图像。光线已从多边形内部开始绘制到多边形上。如何检测光线穿过多边形边界的次数。
此外,多边形始终是闭合多边形。
请看这里的图片:
我最初想到的一个想法是用与边框相同的颜色(黑色)填充多边形。然后计算光线遇到黑色然后遇到白色的次数。
我对这种方法的问题是我真的不知道如何沿着一条线追踪并检查每个点,而且我猜测沿着这条线连续检查将是一个非常昂贵的过程。
我现在正在使用 Processing 3,但我可以使用除 MatLab 之外的任何其他软件/平台,因为我现在无法访问它。
我是编程新手!我正在尝试使用 Processing(一种使用与 Java 类似的语法的语言)制作棋盘。
为什么这不起作用?
void setup(){
//5.b In setup() set the size to 350, 350
size(350,350);
for (int y = 0; y < 8; y = y++){
for (int x = 0; x < 8; x++){
if ((y+x+1) % 2 == 0 ){
fill(255);
}else{
fill(0);
}
rect(50*x,50*y,50,50);
}
}
}
```
Run Code Online (Sandbox Code Playgroud) .split() 函数是否存在?当我输入:
public class Main {
public static void main(String[] args) {
String numbers = "1, 2, 3, 4, 5";
int[] numbers2 = (int[]) numbers.split(", ");
System.out.println(numbers2);
}
}
Run Code Online (Sandbox Code Playgroud)
它说:
Main.java:4: error: incompatible types: String[] cannot be converted to int[]
int[] numbers2 = (int[]) numbers.split(", ");
^
1 error
Run Code Online (Sandbox Code Playgroud) 所以我对处理比较陌生,我正在尝试制作一个圆形图,将 31 天的降水量显示到小数点后第二位。我已经有了我想要的图表我只是不知道如何显示小数,因为它只显示 0 和 1 而不是 1.14、0.04 等值。这是代码
float [] prec = {0.19, 0.38, 0.36, 0.82, 0, 0.61, 0, 0.26, 0.06, 0.19, 0.13, 1.14, 0.05, 0, 0.07, 0, 0.03, 0, 0, 0, 0, 0, 0, 0.11, 0.04, 0.4, 0.24, 0.11, 0.04, 0.09, 0.34};
//daily precipitation
void setup() {
size(900, 900);
textAlign(CENTER);
println(prec.length);
}
void draw() {
background (175, 60, 150);
translate(width/2, height/2);
ellipse(0, 0, 50, 50);
rotate(radians(-132));
for (int i=0; i<prec.length; i++){
rotate(radians(360/31));
rect(0, -100, 9, -prec[i] * 200); …Run Code Online (Sandbox Code Playgroud) processing ×10
java ×5
eclipse ×3
animation ×1
audio ×1
canvas ×1
decimal ×1
fractals ×1
javascript ×1
mandelbrot ×1
math ×1
p5.js ×1