Before I dust off my map-making tools and dive headlong into another shapefile exercise I thought I'd check with everyone - Has anyone seen or done anything along the lines of a Smith Chart in JMP? Looks like it's come up a couple of times in the community (thread 1 and thread 2), but I'm guessing it's too nitch for active development on the main product.
I'm contemplating creating a shapefile that can be used in Graph Builder as an overlay with cartesian transformed data, but I wanted to make sure I'm not reinventing the wheel.
Thoughts?
M
https://www.allaboutcircuits.com/technical-articles/mathematical-construction-and-properties-of-the-smith-chart/
has the info to make the smith chart graph paper. Equations 4 and 5. This part seems easy.
Any points you plot (resistance, reactance) would need to be transformed as well. figure 2 on http://www.antenna-theory.com/tutorial/smith/smithchart4.php shows a plotted point(s). This part seems harder; it might involve finding the interesting intersection of two circles (not the intersection where all circles meet).
I would not use the image as a background; i"m not sure how you'd align it to the coordinate system.
Hi, @Craige_Hales!
Thanks for this! I think it will help with creating what I'm going attempt. The idea behind the shapefile was that you can make a shapefile show up in a plot as a background map. The customer sent me this image (see below) as an example. Based on the image, what I was thinking of doing was to create a shapefile with the lines for the Smith plot that could then be added as a background map. They could put it on top of the contour plot by changing the layer order in the graph customization options. This should replicate what they hacked together with GB and PowerPoint.
If this type of data interests you, I've attached a sample data file the user sent - it just needs to be for internal use only.

Thanks!
M
I'm not sure if I'm answering the question; smith charts and shape files seem unrelated. This answer is about smith charts, but substituting polar charts instead.
Use the XYFunction, it will save you a lot of time. If you have the function of your transform, the XY function can use that to warp the lines appropriately. Here's a polar chart example. For the XY function, t is a parameter that goes from 0 to 1 and selects the fraction of the starting angle/radius to the ending angle/radius.
// polar coordinate example
// x,y -> polar: angle = atan(y,x), radius = sqrt(x^2+y^2)
// a,r -> rect: x = r*cos(angle), y = r*sin(angle)
//
polarDrawLine = Function( {a1, r1, a2, r2},
{},
XY Function(
((1 - t) * r1 + t * r2) * Cos( (1 - t) * a1 + t * a2 ),
((1 - t) * r1 + t * r2) * Sin( (1 - t) * a1 + t * a2 ),
t,
Min( 0 ),
Max( 1 )
)
);
polarDrawText = Function( {a, r, t},
Text( {r * Cos( a ), r * Sin( a )}, t )
);
New Window( "polar",
Graph Box(
suppressaxes,
Frame Size( 800, 800 ),
X Scale( -105, 105 ),
Y Scale( -105, 105 ),
Pen Color( "Blue" );
For( r = 10, r <= 100, r += 10,
polarDrawLine( 0, r, 2 * Pi(), r );
polarDrawText( Pi() / 3, r - 5, Char( r, 3 ) );
);
Pen Color( "red" );
For( a = 0, a < 2 * Pi(), a += Pi() / 4,
polarDrawLine( a, 0, a, 100 );
polarDrawText( a, 95, Char( a, 4 ) );
);
Pen Color( "green" );
Pen Size( 3 );
polarDrawLine( 1, 10, 2, 70 );
)
);
polar graph bends a straight linepolar graph bends a straight line
(For fun, change the green line to wrap around several times polarDrawLine( 1, 10, 20, 70 ); ... the angles 1 and 20 are in radians and 6.28 is a full circle so you get ~3 wraps.)
three loopsthree loops