放大分形图案时出现问题(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划分尺度
fPosition.x = fPosition.x * scale + xPos *(1/scale); – Besta
如果我像上面那样做,它实际上会在放大/缩小时改变位置。 – Besta
@Besta只保留一个位置坐标,而不是2并添加到该位置。 (在着色器中)'fPosition = pos * scale;'当你移动时(使用Javascript)'pos + = drag *(1/scale);' – Blindman67