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.