Çevremdeki çizgiyi taşımak için lerp() işlevini kullanıyorum ancak çalışmıyor. Daire, amt parametresinin, lerp() işlevi için ne olduğuna bağlı olarak, her zaman bir yere gider. Eğer amt için 0.5 koyarsam, o zaman çember çizginin yarısına kadar yerleştirilir, fakat hareket ettiğini göremiyorum ya da çemberin çemberinin boyunu aşağı doğru hareket etmesini tamamlamıyorum. Yani herkes daireyi çizgiden aşağı çekmeme yardım edebilir mi?Satır Boyunca Taşımak İçin Hareketli Daire
float x1,y1,x2,y2;
float cx,cy;
float x4,y4;
void setup() {
size(600,600);
x1 = 200;
y1 = 150;
x2 = 300;
y2 = 250;
cx = 450;
cy = 200;
}
void draw() {
background(60);
stroke(220);
line(x1,y1,x2,y2);
noFill();
noStroke();
// calculate the point
float k = ((y2-y1) * (cx-x1) - (x2-x1) * (cy-y1))
/((y2-y1)*(y2-y1) + (x2-x1)*(x2-x1));
float x4 = cx - k * (y2-y1);
float y4 = cy + k * (x2-x1);
stroke(0);
line(cx,cy,x4,y4); //line connecting circle and point on line
float x = lerp(cx, x4, .1);
float y = lerp(cy, y4, .1);
fill(255, 0, 175);
ellipse(x4,y4, 8,8);
fill(175, 0, 255);
ellipse(x, y, 50, 50);
}
Sorunuzu anlayamadım ama siyah çizgide daireyi canlandırmak istediğinize eminim? Eğer öyleyse, draw fonksiyonundaki amt parametresinin değerini değiştirmeniz gerekir. Her yinelemeli artışlarla bunun için bir değişken kullanmanız yeterlidir. – michaPau
Teşekkür ederiz! Çalıştırdım! –