I have posted the following on another forum.

Since it is both math and OpenGL I am taking the liberty and posting it here too.

I am constructing / drawing Smith chart using OpenGL (C programming language )

I am using normalized scale circles with diameter from 0 to 1.

I can draw 10 of these circles in log(10) scale - from 0 to 1 - in .1 intervals - no problem.

Now I need draw 10 of these circles , BUT they have to be scaled to fit into linear area from 0 to 1.41,

Added specially here on OpenGL forum

**The (+_ img coordinates ) circles are centered "outside " 2x2 normalized device coordinates square and I have no problem drawing them. Just the scale is wrong. I actually will use only “stenciled” parts inside **

**normalized device coordinates unity circle.**

So in layman’s terms - how do I scale log(0) - log(1) to log(0) - log(1.41) and maintain logarithmic scale?

I did try

double mark = -(log(index ));

mark *= 1.41;

but it "linearized / destroyed ’ the overall logarithmic scale of the circles and did not fill 0 to 1.41 linear scale. .

I need to scale each circle and have them in logarithmic succession in same ratio as log 0 to log 1.

PS OpenGL /C handles the log(0) just fine.