我明白
如果我想绘制曲线y = x ^ n会是float y = (x, n)什么
y = 1 - x ^ 4
y = (1-x) ^ 4
y = 1-(1-x) ^ 4
Run Code Online (Sandbox Code Playgroud)
这是我写的代码,但它没有绘制数学上正确的曲线
y = 1 - x ^ 4
for (int x = 0; x < 100; x++) {
float n = norm(x, 0.0, 100.0);
float y = pow(1-n, 4);
y *= 100;
smooth();
point(x, y);
}
Run Code Online (Sandbox Code Playgroud) 我收到语法错误"insert}以完成ClassBody.
此代码正常/无错误:
import java.awt.Rectangle;
class Trigger
{
Type type;
long time;
ObjectID controlType;
int controlNum;
int resType, resNum;
Rectangle location;
enum Type {TIMED, CONTROLED, LOCATION, RESOURCE};
Trigger()
{
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我添加像这样的构造函数时,我收到错误:
class Trigger
{
Type type;
long time;
ObjectID controlType;
int controlNum;
int resType, resNum;
Rectangle location;
enum Type {TIMED, CONTROLED, LOCATION, RESOURCE}; //I get the error on this line
Trigger(Type.TIMED, long t)
{
time = t;
}
Trigger(Type.CONTROLLED, int c)
{
controlNum= c;
}
Trigger(Type.LOCATION, int locx, int locy, …Run Code Online (Sandbox Code Playgroud) 我遇到了一个以前所未有的方式构建的for循环.我想知道你是否可以向我解释它在做什么?它是作为处理中的verlet集成的示例之一提供的:
http://www.openprocessing.org/sketch/17191
这是代码:
for(VerletParticle2D p : physics.particles) {
ellipse(p.x, p.y, 5, 5);
}
Run Code Online (Sandbox Code Playgroud)
它只是添加一个'p'粒子,直到它达到之前设置的数量?
我正在尝试在处理中随机且均匀地在立方体表面上生成点。我正在尝试制作动画,所以我需要点的x,y和z最终位置。
有什么建议么?谢谢。
我是Processing的新手,我一直致力于模拟电子运动.在我尝试为每个粒子添加渐变颜色之前,一切似乎都很好.帧速率大幅下降.
这是我到目前为止所尝试的:
float a=0;
float s;
void setup()
{
size(500,500);
smooth();
frameRate(500);
colorMode(HSB,360,100,100);
noStroke();
ellipseMode(RADIUS);
}
void draw()
{
background(200,0,100);
pushMatrix();
translate(width/2, height/2);
rotate(radians(-18));
for ( int r = width ; r >= 0; r = r - 1 )
{
s = 500*exp(-r);
fill(202, s, 100);
ellipse(100*cos(a), 50*sin(a), r, r);
}
a+=0.1;
popMatrix();
}
Run Code Online (Sandbox Code Playgroud) 在过去的几个月里,我一直致力于一个应用程序,其中一个功能是它可以裁剪图像.所以,我编写了一个绘制透明橙色矩形的函数,向用户显示裁剪区域,但它的工作速度非常慢 - 任何人都可以帮我/给我一个让它更快的方法吗?
这是代码:
Image source;
private void pictureBox1_MouseDown(object sender, MouseEventArgs e) {
mousePos = e.Location;
}
Point mousePos;
private void pictureBox1_MouseMove(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Left) {
Image editSource = new Bitmap(source);
Graphics g = Graphics.FromImage(editSource);
SolidBrush brush = new SolidBrush(
Color.FromArgb(128, Color.Orange.R, Color.Orange.G, Color.Orange.B));
int width = e.X - mousePos.X;
if (width < 0) {
width *= -1;
}
int height = e.Y - mousePos.Y;
if (height < 0) {
height *= -1;
}
Size …Run Code Online (Sandbox Code Playgroud) 我一直在编写一个程序,用不同颜色重绘大量(几百个)相同的PShape.但是,我还没有找到一种方法来重新绘制不同颜色的PShape,而无需实际重新创建PShape,即通过开始/结束形状重做所有顶点并简单地更改填充然后将其分配给新的PShape变量.我尝试过像tint(),fill(),setFill()这样的东西,它们似乎都需要在开始/结束形状中调用.
有没有办法重新绘制不同颜色的PShape而无需完全重新定义形状并将其分配给新变量?
任何帮助非常感谢.
(这是我尝试的不同事物的一种整理)
PShape p;
void setup()
{
size(600,600,P2D);
p = createShape();
p.beginShape();
p.vertex(0, 0);
p.vertex(20, 0);
p.vertex(20, 20);
p.vertex(0, 20);
p.endShape(CLOSE);
}
void draw()
{
p.tint(200,100,30);
p.fill(200,100,30);
p.setFill(0,0);
shape(p,100,100);
}
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢
再回来看我的视觉时钟.我需要一些指导.我正在尝试制作一个"时钟"图表来计算用户输入的事件时间之前的时间(以小时为单位),例如直到他们吃晚餐,睡觉等.在我的草图中,"现在"是暗灰色线左边,我想创建一个系统,根据实时计算这些输入时间.白蜱表示一天24小时.我也希望渐变相对于"现在"改变,取决于外面的亮度.提出了映射,但我甚至不知道从哪里开始.这是我的草图和代码:任何帮助你不胜感激!
PFont din;
PFont din2;
color blue = color(0, 80, 200);
color orange = color(255, 150, 50);
int hr = hour();
float w, h, angle;
void setup () {
size (1100, 600, P2D);
din = loadFont("DIN-Medium-30.vlw");
din2 = loadFont("DIN-Medium-15.vlw");
}
void draw() {
background(255);
gradientRect(90, 470, 850, 50, blue, orange);
fill(0, 102, 153);
textFont(din);
if (hr > 12) {
hr=hour()-12;
text("pm", 220, 55);
} else {
text ("am", 220, 55);
}
text(nf(hr, 2)+":", 86, 55);
text(nf(minute(), 2)+":", 126, 55); …Run Code Online (Sandbox Code Playgroud) 在Processing 3中,我试图在if /或语句中比较两个字符串:
if ((firstSplit[6].equals('PPL')) || (firstSplit[7].equals('PPL'))) {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
'firstSplit'是一个字符串数组.第一个'PPL'带有下划线,显示的错误是"无效的字符常量".任何人都可以解释这个错误以及如何解决它?
我正在尝试创建一个简单的弹力球模拟器,我希望球以与现实生活中大致相同的速度移动.然而,目前,在从5英尺处跌落后,球几乎立即撞到地面并反弹几次然后停在一秒之内.我知道我可以尝试我的重力值直到它是半现实的,但我很困惑为什么我当前的重力值不起作用.这是我如何获得当前的一个:
现实生活中的重力= 9.8米/秒^ 2
= 32.152英尺/秒^ 2
= 1/72英尺/ 1/30秒^ 2(我的程序中我的帧率设置为30)
=每1/30秒^ 102.887像素^ 2(我的程序中一英尺是96像素)
这是我移动球的代码(使用Processing 3.2.1):
void move() {
dy+=102.88704; //gravity
x+=dx;
y+=dy;
z+=dz;
if(y+size*8>480) {
dy*=-0.85;
}
y=constrain(y,-100000.0,480-(size*8));
}
Run Code Online (Sandbox Code Playgroud)
目前,x和z只保持在0.因为它从5英尺处掉落,当它达到480尺寸*8(尺寸以英寸为单位)时它会撞到地面.0.85的值是暂时的,我可能稍后调整它,但它不应该对这个问题产生任何影响.非常感谢任何和所有的帮助.谢谢!