Sparse color and Distorts share the same code for converting input numbers coefficients (coords to color OR, coords to source coords, respectively). All coordinates are mathematical image coordinates. Percentages are not used.
HOWEVER.. both allow the use of % escapes in IMv6 (just as all option arguments will be able to use them in IMv7) as such you can use percentages, or even a 'normalized image coordinates' (a value of 0.0 to 1.0 across the image) simply by using some %[FX:...] expressions.
For an example see...
The Fractured Mirror distortion map
http://www.imagemagick.org/Usage/mappin ... ace_mirror
Which generated random points (positions from 0 to 1) of specific colors, using a Voronoi Mapping.
The operators that use pixel coordinates are: Text Placement, Image Offsets, Flood Fills (whcih needs a actual pixel), and Draw (which also makes some sense). As such mapping between these may need some 0.5 value differences.
Distort sets image 'offsets' correctly (as integer pixel coordinates) for composition when using +distort.
generally if the value is typically integer, it is pixel coords. If floating point it is image coordinates. The Exception is Draw, which allows floating point, but is more typically used using integers.
Actually many of the examples for sparse color does not make correct use of image coordinates in its arguments, so as to align its results with that of 'drawn circles' or the 'original image overlays'. It probably should, but the results have been good enough without this 'perfection'. Only the examples involving 'perfect gradients' actually use correct image coordinates.