Я использую плагин verlet.js, чтобы создать симуляцию ткани на холсте с изображением текстуры.Трансформация холста на моделировании ткани + изображение
Единственная вещь (и самая важная BTW), которую я еще не приехал, это то, что мне нужно перекосить drawImage, чтобы она соответствовала правильному положению.
//Drawing the rectangle
ctx.save();
ctx.beginPath();
ctx.moveTo(cloth.particles[i1].pos.x, cloth.particles[i1].pos.y);
ctx.lineTo(cloth.particles[i1+1].pos.x, cloth.particles[i1+1].pos.y);
ctx.lineTo(cloth.particles[i2].pos.x, cloth.particles[i2].pos.y);
ctx.lineTo(cloth.particles[i2-1].pos.x, cloth.particles[i2-1].pos.y);
ctx.lineTo(cloth.particles[i1].pos.x, cloth.particles[i1].pos.y);
ctx.strokeStyle = "#fff";
ctx.stroke();
ctx.restore();
//Wrapping the image
ctx.save();
var off = cloth.particles[i2].pos.x - cloth.particles[i1].pos.x;
//THIS IS WHAT I TRY TO SOLVE TO FIT TO THE RECTANGLES
//ctx.transform(1,0.5,0,1,0,0);
ctx.drawImage(img, cloth.particles[i1].pos.x,cloth.particles[i1].pos.y, off, off, cloth.particles[i1].pos.x,cloth.particles[i1].pos.y, off ,off);
ctx.restore();
}
Я попытался адаптировать другие симуляции ткани, но без успеха. Любая подсказка, где я мог бы найти какую-то информацию для этого?
Я думаю, вы обнаружите, что симуляция ткани работает, разделив каждый оригинальный прямоугольник на 2 треугольника - не путем перекоса исходного прямоугольника ;-) – markE
Да @markE, я тоже пробовал, но я был в той же самой проблеме, drawImage задал прямоугольник, и мне все равно придется его перекосить. –