나는 부드러운 그림 도구를 만들려고 노력하고 있습니다. 예를 들어, this과 같은 선을 사용합니다. 기본 사항을 완료했지만 코드에 몇 가지 문제가 있습니다. 그냥 부드럽게 그릴 수 탄성 마찰을 제공하도록 Processing 3.0에서 여유있는 마우스로 그리기
Spring2D s1;
float gravity = 0;
float mass = 4.0;
void setup() {
frameRate(60);
size(640, 360);
fill(255, 126);
// Inputs: x, y, mass, gravity
s1 = new Spring2D(0.0, width/2, mass, gravity);
}
void draw() {
s1.display(mouseX, mouseY);
s1.update(mouseX, mouseY);
}
class Spring2D {
float vx, vy; // The x- and y-axis velocities
float x, y; // The x- and y-coordinates
float gravity;
float mass;
float radius = 10;
float stiffness = 0.7;
float damping = 0.5;
Spring2D(float xpos, float ypos, float m, float g) {
x = xpos;
y = ypos;
mass = m;
gravity = g;
}
void update(float targetX, float targetY) {
float forceX = (targetX - x) * stiffness;
float ax = forceX/mass;
vx = damping * (vx + ax);
x += vx;
float forceY = (targetY - y) * stiffness;
forceY += gravity;
float ay = forceY/mass;
vy = damping * (vy + ay);
y += vy;
}
void display(float nx, float ny) {
if (mousePressed == true) {
background(0);
stroke(40, 255, 150);
line(x, y, nx, ny);
noStroke();
fill(255, 130, 40);
ellipse(x, y, 5, 5);
} else {
background(0);
}
}
}
내가 가이드로 녹색 문자열 (라인)을 사용
는 여기에 내가 일하고 있어요 스케치의 코드입니다. 캔버스를 클릭 할 때만 나타나고 마우스를 놓으면 사라집니다. 주황색 점이 내 마우스 좌표가 아닌 도면 (x, y, nx, ny)을 수행하기를 원합니다. (이 경우에는 구체가 아니라 제안 된대로 연속 선으로 표시).
배경을 특정 색 (여기서는 검정색)으로 설정하지 않으면 가이드 문자열 (녹색 선과 주황색 점)이 캔버스에 그려집니다. 그러나 저는 그것들을 도우미로서 가이드로 만 사용하기를 좋아합니다. 문자열 라인을 그리지 않고 오렌지색 점에 따라 선을 그리려면 어떻게해야합니까?
라인이 보이지만 그려지지 않아야한다고 정확히 말할 때 무엇을 의미합니까? –
예제 그림에서와 같이 나는 링크로 공유했습니다. 도우미 라인 (그 지점)은 스트로크를 그려야합니다. @KevinWorkman –