放大分形时我有一个问题(webgl)

时间:2016-10-15 19:54:08

标签: javascript html canvas webgl fragment-shader

当我放大太多而我用鼠标拖动图片时它移动得太快了。同样,如果我缩小太多,图片拖得很慢。

这是放大(缩放)的方式以及它如何拖动图片(xPos,yPos)

fPosition.x = fPosition.x * scale + xPos;
fPosition.y = fPosition.y * scale + yPos;

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

您需要通过反比例调整运动。当在1比1没有缩放时,您为拖动的每个像素移动图像1个像素。

当您以2比1放大时。一个像素现在是2像素宽(您的比例为2)您仍然希望以相同的屏幕速度拖动图像,以便移动它1/scale像素对于您拖动的每个像素。 1/2 = 0.5为每一个像素移动鼠标/指针/触摸物体。

当缩小0.5到1时,刻度现在为0.5,图像尺寸减半,需要为拖动的每个像素移动1/scale像素。 1/0.5 = 2

因此,比例是像素的大小,而运动是该比例的倒数。 1分割比例