标签: processing

使用Processing创建Sin波浪线

在这里发帖,可能很简单.

我从Processing的参考站点获得了代码:

float a = 0.0;
float inc = TWO_PI/25.0;

for(int i=0; i<100; i=i+4) {
  line(i, 50, i, 50+sin(a)*40.0);
  a = a + inc;
}
Run Code Online (Sandbox Code Playgroud)

http://processing.org/reference/sin_.html

然而,我需要的是一条跟随Sin波曲线的线,而不是沿曲线表示点并在0轴结束的线.所以基本上我需要绘制一个带有sin波方程的"S"形状.

有人可以告诉我如何做到这一点?

提前谢谢你,-Askee

processing trigonometry waveform

2
推荐指数
1
解决办法
9455
查看次数

如何将一条线分成多个线段?

我试图将一条线分成多个部分.因为我在下面创建了一个函数来尝试获得两点之间的子点.它不是很有效,但几乎就在那里.理想情况下,我想使用这样的东西:

subPoint(point1, point2, 5, 10);  // this would return the half way point
subPoint(point1, point2, 1, 10);  // this would return a point 1 tenth towrds point2
Run Code Online (Sandbox Code Playgroud)

以下是粗略的代码 - 非常欢迎任何提示或指示.

Vector subPoint(Vector startPoint, Vector endPoint, int segment, int totalSegments) {

  int division = (int)(totalSegments / segment);

  PVector divPoint = new PVector();

  int midX=(int)(startPoint.x+((endPoint.x-startPoint.x)/division));
  int midY=(int)(startPoint.y+((endPoint.y-startPoint.y)/division));

  divPoint.set(midX, midY, 0);

  return(divPoint);
}
Run Code Online (Sandbox Code Playgroud)

java processing geometry

2
推荐指数
1
解决办法
2044
查看次数

处理中的"旋转"和"翻译"让我感到头痛

作为进入Processing的小作业,我必须编写一些代码来获得以下内容: 任务

运用

public void setup() {
   size(300,200);
   noFill();
   rect(100, 20, 40, 80);
   ellipseMode(CENTER);
   fill(#000000);
   ellipse(width/2, height/2, 5,5);

   noFill();
   translate(width/2, height/2);
   rotate(radians(65));
   rect(-20, -40, 40, 80);
}
public void draw() {
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,这个工作非常好.但我不喜欢我必须更改底部rect指令内部的坐标才能使旋转正确.我知道通过旋转你不会旋转单个元素,实际上是整个坐标系.我不知道的是,translate在输出指令中输入哪些值如上图所示,同时仍然在rect命令中使用相同的坐标.

任务已经完成了我使用的代码,我只是不喜欢它太多.所以这不仅仅是要求别人做我的作业而是纯粹的兴趣.

编辑:更广泛的问题尝试:如何知道哪些值在旋转之前进入平移以获得我想要的任何结果?有没有办法计算它们?当然,这不只是尝试,是吗?

processing rotation

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

Android工具内部出错,请检查控制台 - 处理2.0,Android模式

问题摘要:我无法在Android设备上运行程序,也无法在模拟器中运行程序.我安装了Android SDK 2.33(API10)和所有组件,也包括4.1和更高版本.我为HTC EVO V 4G(维珍移动)安装了新的USB驱动程序,但仍然没有.我检查了SDK的路径,处理正确找到它.我花了一整天在线研究它,重新安装SDK,安装Processing 2.0 64位(因为我的SDK是64位)等等.

我正在尝试运行任何程序,甚至模板和空白列表.它总是给我同样的错误,无论我是在模拟器上运行还是通过我的Android设备运行它.控制台告诉我:Android工具内部出错,请检查控制台

我的错误和编译消息

-set-mode-check:

-set-debug-files:

-check-env:
Android SDK Tools Revision 22.0.1
Installed at F:\ANDROID SDK\sdk

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

-set-debug-mode:

-debug-obfuscation-check:

-pre-build:

-build-setup:
Using latest Build Tools: 17.0.0
     [echo] Resolving Build Target for SonicPainterAndroid...
Project Target:   Android 2.3.3
API level:        10
     [echo] ----------
     [echo] Creating output directories if needed...
    [mkdir] Created dir: C:\Users\SEBAST~1\AppData\Local\Temp\android1631735927318765460sketch\bin
    [mkdir] Created dir: C:\Users\SEBAST~1\AppData\Local\Temp\android1631735927318765460sketch\bin\res
    [mkdir] Created dir: C:\Users\SEBAST~1\AppData\Local\Temp\android1631735927318765460sketch\gen
    [mkdir] Created dir: C:\Users\SEBAST~1\AppData\Local\Temp\android1631735927318765460sketch\bin\classes
    [mkdir] Created dir: C:\Users\SEBAST~1\AppData\Local\Temp\android1631735927318765460sketch\bin\dexedLibs …
Run Code Online (Sandbox Code Playgroud)

processing sdk android

2
推荐指数
1
解决办法
5019
查看次数

处理 - 如何将数据(通过websockets?)发送到javascript应用程序

我正在玩处理和奇迹,如果我可以将数据从处理发送到JavaScript应用程序.是否有可能创建一个具有处理功能的(例如websocket)服务器?

提前致谢!

javascript processing websocket

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

如何在矩形的边框上绘制一个点?

我正在试图解决这个问题......这个点应该位于鼠标指向的地方的边界上.换句话说,在矩形边界线与矩形中心和鼠标指针之间的线之间交叉.我需要以某种方式使用三角函数,因为矩形可能会旋转.下面的代码(处理中)使我能够绘制点,但只能在南边界...

int size = 200;

void setup() {
  size(1200,500);
  smooth();
  ellipseMode(CENTER);
  rectMode(CENTER);

}

void draw() {
  background(255);
  noFill();

  PVector center = new PVector(width/2,height/2);
  PVector mouse = new PVector(mouseX, mouseY);

  float mouseDistance = PVector.dist(center,mouse);

  mouse.sub(center); // mouse coordinates relative to center point

  float t = atan2(mouse.y, mouse.x);

  float borderDistance = (size/2) / sin(t); 
  float bx = cos(t) * borderDistance;
  float by = sin(t) * borderDistance;

  pushMatrix();
    translate(center.x, center.y);
    strokeWeight(5);
    stroke(255,0,0);
    point(0,0);
    point(mouse.x, mouse.y);
    point(cos(t)*size/2, sin(t)*size/2);
    point(bx,by);
    strokeWeight(1);
    stroke(0);
    ellipse(0, 0, size, …
Run Code Online (Sandbox Code Playgroud)

java processing trigonometry vector

2
推荐指数
1
解决办法
727
查看次数

向ArrayList添加元素时出现NullPointerException

我正在尝试使用以下命令向我的ArrayList添加名为activList的元素:

activList.add(new Fiducial(iD, x, y ));
Run Code Online (Sandbox Code Playgroud)

但是在运行代码时,我在这一行得到一个NullPointerException:

int cols = 10, rows = 10;
int rectangleWidth = 100;
int rectangleHeight = 60;

// these are some helper variables which are used
// to create scalable graphical feedback
int k, l, iD;
float cursor_size = 15;
float object_size = 60;
float table_size = 760;
float scale_factor = 1;
float x, y;

ArrayList<Fiducial> activList  ;


public class Fiducial {
  public int iD;
  public float x;
  public float y;

  public Fiducial(int iD, float …
Run Code Online (Sandbox Code Playgroud)

java processing

2
推荐指数
1
解决办法
1703
查看次数

确定贝塞尔曲线是否与圆重叠的最佳方法是什么?

在Java/Processing中,我想测试贝塞尔曲线是否与圆重叠,以便我可以将其中一个偏移.

有一个简单的方法吗?

java processing

2
推荐指数
1
解决办法
57
查看次数

为什么处理会以粗略的方式绘制我的正弦波?

我正在尝试让Processing绘制正弦波。但是,它看起来像是输出中正弦波的采样错误版本。我需要用一系列线条代替形状,还是有其他解决方案?

我尝试将变量强制转换为float,然后更改c++c += 1

  noFill();
  stroke(255);
  beginShape();
  translate(0, 100);
  for (int c = 0; c <= width; c += 1)
  {
    vertex(c, (float) 100 * sin(c / 50));
  }
  endShape();
Run Code Online (Sandbox Code Playgroud)

我希望它逐个像素地遍历窗口,从而创建一个平滑的形状。我实际得到的是似乎要采样的东西,如下所示。

量化正弦波

java processing

2
推荐指数
1
解决办法
45
查看次数

如何使用dist()函数计算5个点之间的距离?

dist() 计算两个点之间的距离,但是我想计算5个点之间的距离(一个圆点与一个矩形中的四个点之间的距离(每个角都有一个点))我该怎么做?

intersects(other){

    let di =  dist(this.x, this.y, other.x, other.y)
    let di2 =  dist(this.x, this.y, other.x + 80, other.y)
    let di3 =  dist(this.x, this.y, other.x, other.y + 150)
    let di4 =  dist(this.x, this.y, other.x + 80, other.y + 150)
    if (di && di2 && di3 && di4 <= this.r) {
        return true;
    } else {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图对其进行硬编码,但是if函数仅使用“ di4”

javascript processing p5.js

2
推荐指数
1
解决办法
100
查看次数