Strange 'Ns' values from mtl file

This is not strictly a Python problem however I will eventually use this with Python.

I’m trying to make sense of the ‘Ns’ values I get when exporting a model(.obj) from IronCAD.

11 Cylinders, Highlight spread from 0 - 100 (0, 10, 20, 30, …) gets me a .mtl file with these ‘Ns’ values:

5, 21, 69, 149, 261, 405, 581, 789, 1029, 1301, 1605


11 Cylinders, Highlight spread from 0 - 10 (0, 1, 2, 3, …):

5, 5.16, 5.64, 6.44, 7.56, 9, 10.76, 12.84, 15.24, 17.96, 21

I’ve read that the ‘Ns’ values usually are between 0 and 1000.
These values seems to be growing exponentially, and I have no clue why that is.

Is there a equation so I can convert the ‘Ns’ values from exponential to linear?

[TABLE=“width: 50”]

X
Y
first diff

sec diff

0
10
20
30
40
50
60
5
21
69
149
261
405
581

16
48
80
112
144
176

32
32
32
32
32

[/TABLE]

Apparently it’s not exponential, it seems to be quadratic.

Edit:

I got it working thanks to some developer of IronCAD.

I’m using this for roughness in my Cycles materials.

def ironNsToRoughness(value):
    if value < 5.0:
        ns = 1.0
    elif value > 1605.0:
        ns = 0.0
    else:
        ns = 1.0 - (sqrt(value - 5) * 0.025)
    return ns