Cursor movement is attenuated by 75% in the Y direction.
void setup() { background(#ECECEC); stroke(0); smooth(); strokeWeight(1.0); size(400,400); frameRate(30); rect(0,0,399,399); noLoop(); } void draw() { } float initialX; float initialY; float deltaX = 0; float deltaY = 0; float fakeMouseX; float fakeMouseY; float realDeltaX; float realDeltaY; void mousePressed() { loop(); initialX = mouseX; initialY = mouseY; fakeMouseX = mouseX; fakeMouseY = mouseY; } void mouseDragged() { realDeltaX = mouseX - fakeMouseX; realDeltaY = mouseY - fakeMouseY; // modify the following two delta values to adjust // attenutation on the horizontal or vertical axis deltaX = realDeltaX; deltaY = realDeltaY * 0.25; line(initialX, initialY, initialX + deltaX, initialY + deltaY); initialX = initialX + deltaX; initialY = initialY + deltaY; fakeMouseX = mouseX; fakeMouseY = mouseY; } void mouseReleased() { noLoop(); }