Pl Explain math in Dial qml example



  • Hi,
    In Qt SDK 1.1 (Dial control example) Dial.qml the angle of needle is represented by

    angle: Math.min(Math.max(-130, root.value*2.6 - 130), 133)

    where did the -130,130,133 value come from? Why is a factor of 2.6 used?



  • Aesthetics probably. Angles between -130 and +133 are shown. This whole thing results in root.value being a number between 0 and (133 + 130)/2.6, which is 263/2.6 ~= 100.

    So given that information, it is all about scaling a 0-100 value to range that looks nice.



  • Seems to make sense now. The 'dial control' code shows the x position has been multiplied by a factor of 100, so to offset that dial code has been scaled down by roughly 100 but the dial has value up 0 to 120 - so they are off by 20 degree ? To offset slider which is 34 px in width, 30 px has been subtracted from slider container width. Why would they complicate the code unnecessarily is beyond me.



  • I do not know the example. I just reasoned backwards from the chunk of code you posted.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.