我有一個圖形,由函數生成,它根據函數的值自動放大和縮小。我已經有了繪圖工具,我可以在高分辨率下顯示任何x,y,寬度和高度。我應該使用什麼算法來平滑放大圖形或地圖?
我試着只是捕捉到正確的位置:
x = target_x
y = target_y
width = target_width
height = target_height
但它太緊張。很難說哪部分放大/縮小。
我也試着這樣做:
orig_x = x //ditto for y, width, height, etc
for i=1 to 10
x = i/10*new_x + i/10*orig_x
wait 25ms
這是平滑的,但第一步還是太緊張。如果orig_x是10,new_x是100萬,那麼第一個跳躍太大,接近1,000,000%。然而,最後的跳躍只有10%。幾何級數甚至更好,但如果我必須在中間縮放時切換方向,則步驟會變得很麻煩。
什麼是最好的使用效果?
此算法創建的縮放將在不同的環境中運行不同的時間量。 – 2010-10-27 16:17:58
@NickLarsen,請問爲什麼? – tafa 2010-10-27 16:29:21
這與我寫的相同。 – Eyal 2010-10-27 16:48:24