放大分形图案时出现问题(webgl)

问题描述:

当我放大太多并且使用我的鼠标拖动图片时,它移动得太快。同样,如果我缩小太多,图片拖动非常缓慢。放大分形图案时出现问题(webgl)

这是它是如何在(规模),缩放和如何周围拖动图片(XPOS,yPos)

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

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

您需要用倒数比例调整运动。当在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划分尺度

+0

fPosition.x = fPosition.x * scale + xPos *(1/scale); – Besta

+0

如果我像上面那样做,它实际上会在放大/缩小时改变位置。 – Besta

+0

@Besta只保留一个位置坐标,而不是2并添加到该位置。 (在着色器中)'fPosition = pos * scale;'当你移动时(使用Javascript)'pos + = drag *(1/scale);' – Blindman67