1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-10 00:36:40 +02:00

added test

This commit is contained in:
Justin Lin
2017-05-26 06:47:12 +08:00
parent 4161c8f7cb
commit a9ef8f3479
2 changed files with 51 additions and 0 deletions

View File

@@ -8,3 +8,4 @@ include <test_shape_ellipse.scad>;
include <test_shape_pie.scad>;
include <test_shape_square.scad>;
include <test_shape_trapezium.scad>;
include <test_shape_superformula.scad>;

View File

@@ -0,0 +1,50 @@
include <unittest.scad>;
include <shape_superformula.scad>;
module test_shape_superformula() {
echo("==== test_shape_superformula ====");
phi_step = 0.05;
assertEqualPoints(
[[1, 0], [1.00031, 0.0500574], [1.00125, 0.10046], [1.0028, 0.151559], [1.00497, 0.203718], [1.00774, 0.257319], [1.0111, 0.31277], [1.01503, 0.370514], [1.01949, 0.431035], [1.02447, 0.494874], [1.02989, 0.562632], [1.03569, 0.634989], [1.04176, 0.712707], [1.04791, 0.796625], [1.05382, 0.887619], [1.05891, 0.986479], [1.06212, 1.0936], [1.06143, 1.20826], [1.05327, 1.32729], [1.03183, 1.4429], [0.98968, 1.54134], [0.921339, 1.60619], [0.828653, 1.62811], [0.721275, 1.61169], [0.610527, 1.57037], [0.504088, 1.51709], [0.405379, 1.46022], [0.315157, 1.4041], [0.232946, 1.3506], [0.157846, 1.30036], [0.0888862, 1.25344], [0.0251587, 1.20967], [-0.0341438, 1.16878], [-0.0897271, 1.13048], [-0.142207, 1.0945], [-0.192124, 1.06059], [-0.239957, 1.02851], [-0.286134, 0.998048], [-0.331045, 0.968997], [-0.375047, 0.941168], [-0.418474, 0.914379], [-0.461643, 0.888455], [-0.504858, 0.863225], [-0.548418, 0.838517], [-0.592623, 0.814157], [-0.637776, 0.789964], [-0.684188, 0.76575], [-0.732188, 0.741313], [-0.782125, 0.716435], [-0.834375, 0.690874], [-0.889348, 0.66436], [-0.9475, 0.636589], [-1.00933, 0.607208], [-1.0754, 0.575805], [-1.14632, 0.541892], [-1.22271, 0.504876], [-1.30517, 0.464024], [-1.39406, 0.41842], [-1.48906, 0.366908], [-1.58833, 0.308087], [-1.68685, 0.24045], [-1.77429, 0.162963], [-1.83451, 0.0763412], [-1.85103, -0.0155675], [-1.81842, -0.106335], [-1.74701, -0.190139], [-1.6543, -0.264271], [-1.55468, -0.328785], [-1.45649, -0.384978], [-1.36344, -0.434358], [-1.27673, -0.478247], [-1.19636, -0.517716], [-1.12188, -0.553615], [-1.05267, -0.586623], [-0.988087, -0.617295], [-0.927553, -0.646092], [-0.870524, -0.673404], [-0.816515, -0.699564], [-0.765087, -0.724867], [-0.715843, -0.749571], [-0.668414, -0.77391], [-0.622462, -0.798095], [-0.577662, -0.822324], [-0.533707, -0.846781], [-0.490296, -0.871646], [-0.447131, -0.89709], [-0.40391, -0.923285], [-0.360325, -0.950404], [-0.316056, -0.978624], [-0.27076, -1.00813], [-0.224071, -1.03911], [-0.175587, -1.07178], [-0.124864, -1.10636], [-0.0714042, -1.14309], [-0.0146427, -1.18223], [0.0460648, -1.22406], [0.111457, -1.26887], [0.182376, -1.31689], [0.259759, -1.36825], [0.344576, -1.42275], [0.437639, -1.47942], [0.539129, -1.53573], [0.647585, -1.58617], [0.758291, -1.62073], [0.862061, -1.62552], [0.947332, -1.58897], [1.00662, -1.51119], [1.04098, -1.40512], [1.05716, -1.28713], [1.06228, -1.16897], [1.06135, -1.05665], [1.05734, -0.952306], [1.05188, -0.856166], [1.04585, -0.767649], [1.0397, -0.685914], [1.0337, -0.610089], [1.02802, -0.53936], [1.02274, -0.472992], [1.01793, -0.410334], [1.01364, -0.350804], [1.00991, -0.293883], [1.00674, -0.239102], [1.00417, -0.18603], [1.00221, -0.134269], [1.00086, -0.0834445], [1.00014, -0.0331968]],
shape_superformula(phi_step, 3, 3, 4.5, 10, 10)
);
assertEqualPoints(
[[1, 0], [1.00031, 0.0500574], [1.00125, 0.10046], [1.00283, 0.151563], [1.00505, 0.203733], [1.00793, 0.257366], [1.01149, 0.31289], [1.01576, 0.370781], [1.02077, 0.431575], [1.02656, 0.495886], [1.03317, 0.564427], [1.04064, 0.638021], [1.04887, 0.71757], [1.05724, 0.803718], [1.0628, 0.895181], [1.05482, 0.982668], [1.01242, 1.04243], [0.933117, 1.0622], [0.841352, 1.06024], [0.752591, 1.05241], [0.670332, 1.04398], [0.59437, 1.03618], [0.523834, 1.02921], [0.457856, 1.02308], [0.395679, 1.01775], [0.33665, 1.01318], [0.280203, 1.00932], [0.225838, 1.00616], [0.173109, 1.00367], [0.121608, 1.00183], [0.070958, 1.00063], [0.0207991, 1.00005], [-0.0292164, 1.00011], [-0.0794334, 1.00079], [-0.130201, 1.00209], [-0.181881, 1.00404], [-0.234856, 1.00665], [-0.289539, 1.00992], [-0.346384, 1.01389], [-0.405901, 1.01859], [-0.468669, 1.02406], [-0.535357, 1.03032], [-0.606742, 1.03743], [-0.683707, 1.04537], [-0.767086, 1.05384], [-0.856789, 1.06124], [-0.948014, 1.06103], [-1.02259, 1.03533], [-1.05797, 0.969116], [-1.06236, 0.879648], [-1.05589, 0.788771], [-1.04744, 0.703737], [-1.03932, 0.625251], [-1.032, 0.552568], [-1.02553, 0.484794], [-1.01987, 0.421121], [-1.01499, 0.360856], [-1.01084, 0.303399], [-1.0074, 0.248225], [-1.00463, 0.194867], [-1.00252, 0.142903], [-1.00105, 0.0919435], [-1.00022, 0.041623], [-1.00001, -0.00841028], [-1.00043, -0.0585015], [-1.00147, -0.108997], [-1.00315, -0.160253], [-1.00548, -0.212641], [-1.00848, -0.266561], [-1.01216, -0.322448], [-1.01655, -0.380788], [-1.02169, -0.442128], [-1.02761, -0.507098], [-1.03437, -0.576428], [-1.04197, -0.650961], [-1.0503, -0.731593], [-1.05852, -0.818831], [-1.06289, -0.910647], [-1.05065, -0.995418], [-1.00112, -1.04829], [-0.91791, -1.06278], [-0.826027, -1.0591], [-0.738287, -1.05098], [-0.657136, -1.04261], [-0.582151, -1.03494], [-0.512439, -1.02812], [-0.447151, -1.02213], [-0.385547, -1.01693], [-0.32699, -1.01248], [-0.270926, -1.00874], [-0.216866, -1.0057], [-0.164371, -1.00332], [-0.113039, -1.00158], [-0.0624965, -1.00049], [-0.0123859, -1.00002], [0.0376394, -1.00018], [0.0879244, -1.00096], [0.13882, -1.00238], [0.19069, -1.00444], [0.243922, -1.00715], [0.298936, -1.01054], [0.356193, -1.01463], [0.416214, -1.01946], [0.479592, -1.02505], [0.547012, -1.03146], [0.619272, -1.03871], [0.697264, -1.04677], [0.781768, -1.05524], [0.872302, -1.06205], [0.962474, -1.05915], [1.03154, -1.02698], [1.06023, -0.954912], [1.06165, -0.864115], [1.0545, -0.774002], [1.04603, -0.690092], [1.03803, -0.612645], [1.03086, -0.540849], [1.02452, -0.473817], [1.019, -0.410764], [1.01424, -0.351011], [1.01021, -0.293973], [1.00688, -0.239135], [1.00423, -0.18604], [1.00223, -0.134271], [1.00087, -0.0834447], [1.00014, -0.0331968]],
shape_superformula(phi_step, 4, 4, 12, 15, 15)
);
assertEqualPoints(
[[1, 0], [1.00105, 0.0500943], [1.00423, 0.100759], [1.00963, 0.152591], [1.0173, 0.206218], [1.02709, 0.26226], [1.0381, 0.321122], [1.04757, 0.382393], [1.04926, 0.443622], [1.03434, 0.499642], [0.998941, 0.545725], [0.949577, 0.582191], [0.895718, 0.612795], [0.84295, 0.640815], [0.793189, 0.668095], [0.746624, 0.695554], [0.702858, 0.723691], [0.661359, 0.752848], [0.621613, 0.783332], [0.583154, 0.815474], [0.545559, 0.849659], [0.508412, 0.886325], [0.471257, 0.925908], [0.433498, 0.968652], [0.394242, 1.01405], [0.352059, 1.05955], [0.304963, 1.09851], [0.251559, 1.12076], [0.193311, 1.1208], [0.134057, 1.10439], [0.0766727, 1.08121], [0.0219935, 1.05748], [-0.0302563, 1.0357], [-0.0806843, 1.01655], [-0.129928, 0.999992], [-0.178583, 0.985836], [-0.227208, 0.973868], [-0.276354, 0.963935], [-0.326588, 0.955948], [-0.37851, 0.949857], [-0.432749, 0.94557], [-0.489856, 0.942754], [-0.54996, 0.940344], [-0.611854, 0.935508], [-0.671418, 0.922406], [-0.721488, 0.893652], [-0.757147, 0.847406], [-0.780813, 0.790544], [-0.798293, 0.731245], [-0.813796, 0.673834], [-0.829375, 0.619559], [-0.845895, 0.568324], [-0.863724, 0.519611], [-0.883069, 0.472824], [-0.904116, 0.427398], [-0.927091, 0.38281], [-0.952281, 0.338562], [-0.980022, 0.294149], [-1.01063, 0.249022], [-1.04417, 0.202537], [-1.07981, 0.153921], [-1.11445, 0.102359], [-1.1407, 0.0474692], [-1.14836, -0.00965794], [-1.13345, -0.0662802], [-1.10326, -0.120075], [-1.06771, -0.170565], [-1.03258, -0.218371], [-0.99999, -0.26432], [-0.970383, -0.30914], [-0.94354, -0.35344], [-0.919131, -0.397747], [-0.896833, -0.442561], [-0.876381, -0.488384], [-0.857566, -0.535754], [-0.840204, -0.585249], [-0.824057, -0.637459], [-0.80864, -0.692818], [-0.79279, -0.751114], [-0.773824, -0.810285], [-0.746751, -0.86461], [-0.706146, -0.905392], [-0.652052, -0.928221], [-0.59101, -0.937698], [-0.529438, -0.941233], [-0.470302, -0.943579], [-0.414206, -0.946822], [-0.360816, -0.951698], [-0.309531, -0.958421], [-0.259729, -0.967056], [-0.21082, -0.977661], [-0.162246, -0.990344], [-0.113457, -1.00528], [-0.0638836, -1.02269], [-0.0129151, -1.04275], [0.0400908, -1.06532], [0.0956828, -1.08929], [0.153878, -1.11111], [0.213219, -1.12311], [0.270214, -1.11571], [0.321479, -1.08675], [0.366692, -1.04454], [0.40769, -0.998578], [0.446314, -0.953926], [0.483789, -0.912244], [0.520885, -0.873685], [0.558135, -0.837905], [0.595974, -0.804453], [0.634818, -0.772909], [0.675099, -0.742907], [0.717301, -0.714127], [0.761951, -0.68626], [0.809562, -0.658931], [0.860409, -0.631538], [0.913896, -0.602919], [0.967103, -0.570781], [1.0129, -0.531429], [1.04167, -0.481747], [1.05011, -0.423305], [1.04486, -0.361606], [1.03437, -0.301004], [1.02359, -0.243104], [1.01447, -0.187937], [1.00756, -0.134986], [1.00292, -0.0836158], [1.00046, -0.0332075]],
shape_superformula(phi_step, 7, 7, 10, 6, 6)
);
assertEqualPoints(
[[1, 0], [1.0007, 0.0500768], [1.00277, 0.100612], [1.00608, 0.152055], [1.01044, 0.204826], [1.01547, 0.259293], [1.02061, 0.315713], [1.02499, 0.374154], [1.02739, 0.434375], [1.02613, 0.495678], [1.01919, 0.556785], [1.00446, 0.615838], [0.980271, 0.67064], [0.946015, 0.719165], [0.902471, 0.760142], [0.851638, 0.793384], [0.796097, 0.819693], [0.738322, 0.840457], [0.68024, 0.857212], [0.623115, 0.871354], [0.567625, 0.884025], [0.514018, 0.896097], [0.462252, 0.908216], [0.412109, 0.920859], [0.363264, 0.934374], [0.315332, 0.949018], [0.267891, 0.964974], [0.220495, 0.98236], [0.172686, 1.00122], [0.123995, 1.02149], [0.0739611, 1.04297], [0.0221549, 1.06524], [-0.0317708, 1.08755], [-0.0879989, 1.1087], [-0.146428, 1.12699], [-0.206534, 1.14014], [-0.267271, 1.14559], [-0.327115, 1.14099], [-0.384324, 1.12495], [-0.437385, 1.0976], [-0.485403, 1.06062], [-0.528249, 1.01664], [-0.566412, 0.968474], [-0.600734, 0.918507], [-0.632154, 0.868464], [-0.661558, 0.819421], [-0.689719, 0.77194], [-0.717279, 0.726218], [-0.744772, 0.682219], [-0.77264, 0.639757], [-0.801255, 0.598553], [-0.830929, 0.55827], [-0.86192, 0.518525], [-0.894419, 0.478901], [-0.928531, 0.43894], [-0.964226, 0.398144], [-1.00127, 0.355977], [-1.0391, 0.311882], [-1.07673, 0.265309], [-1.11257, 0.215804], [-1.14438, 0.163124], [-1.16944, 0.10741], [-1.185, 0.0493126], [-1.18903, -0.01], [-1.18098, -0.0690595], [-1.16194, -0.126462], [-1.13429, -0.181201], [-1.10084, -0.232806], [-1.06418, -0.281284], [-1.02634, -0.326966], [-0.988682, -0.370349], [-0.952051, -0.411993], [-0.916874, -0.45245], [-0.883309, -0.492245], [-0.851334, -0.53186], [-0.820812, -0.571741], [-0.791525, -0.612293], [-0.763199, -0.653885], [-0.735502, -0.696837], [-0.70804, -0.741401], [-0.680342, -0.78772], [-0.651841, -0.835764], [-0.621851, -0.885228], [-0.589559, -0.935396], [-0.554049, -0.984985], [-0.514393, -1.03204], [-0.469836, -1.07398], [-0.42007, -1.10799], [-0.365476, -1.13165], [-0.307191, -1.14377], [-0.246855, -1.14477], [-0.186181, -1.13644], [-0.126549, -1.12129], [-0.0688257, -1.10181], [-0.0133778, -1.0801], [0.0398043, -1.0577], [0.09097, -1.03563], [0.140502, -1.01452], [0.188844, -0.994711], [0.236462, -0.976347], [0.283822, -0.959451], [0.33138, -0.943953], [0.379574, -0.929713], [0.428815, -0.916524], [0.479471, -0.904102], [0.531839, -0.892059], [0.586087, -0.879868], [0.642173, -0.866812], [0.699722, -0.851932], [0.757874, -0.833995], [0.815145, -0.811538], [0.869395, -0.783031], [0.918051, -0.747234], [0.958643, -0.703642], [0.989528, -0.652815], [1.0104, -0.596335], [1.02229, -0.536355], [1.02708, -0.475001], [1.0269, -0.41395], [1.02367, -0.354276], [1.01892, -0.296506], [1.01373, -0.240762], [1.00888, -0.186902], [1.00484, -0.134621], [1.00192, -0.0835328], [1.00031, -0.0332025]],
shape_superformula(phi_step, 5, 5, 4, 4, 4)
);
assertEqualPoints(
[[1, 0], [1.00561, 0.0503223], [1.02266, 0.102608], [1.05189, 0.158978], [1.09457, 0.221881], [1.15257, 0.294298], [1.22834, 0.379971], [1.32477, 0.48358], [1.44428, 0.61063], [1.58624, 0.766241], [1.74077, 0.950986], [1.8778, 1.15129], [1.94184, 1.32849], [1.88137, 1.43023], [1.70429, 1.43551], [1.47356, 1.37276], [1.24697, 1.28393], [1.05049, 1.19581], [0.888404, 1.11953], [0.756509, 1.05789], [0.648831, 1.0105], [0.559905, 0.976093], [0.485277, 0.953455], [0.421426, 0.941678], [0.365552, 0.940257], [0.315359, 0.949099], [0.268877, 0.968528], [0.2243, 0.999314], [0.179846, 1.04273], [0.133604, 1.10066], [0.0833719, 1.17568], [0.0264386, 1.27121], [-0.0406457, 1.39134], [-0.122248, 1.54021], [-0.223414, 1.71951], [-0.348166, 1.92199], [-0.494345, 2.11888], [-0.644811, 2.24913], [-0.766552, 2.24376], [-0.833859, 2.09254], [-0.85066, 1.85872], [-0.838457, 1.61365], [-0.815826, 1.39493], [-0.792974, 1.21244], [-0.774379, 1.06386], [-0.761734, 0.943501], [-0.755609, 0.845685], [-0.756231, 0.765655], [-0.763814, 0.699662], [-0.778719, 0.64479], [-0.801531, 0.598759], [-0.833123, 0.559743], [-0.874732, 0.526233], [-0.92805, 0.496909], [-0.995363, 0.470533], [-1.0797, 0.445826], [-1.18502, 0.421305], [-1.31617, 0.395042], [-1.47848, 0.364301], [-1.67564, 0.325023], [-1.90383, 0.271379], [-2.13893, 0.196454], [-2.32223, 0.0966374], [-2.37603, -0.0199829], [-2.27136, -0.132821], [-2.06192, -0.224412], [-1.82449, -0.291459], [-1.6054, -0.339511], [-1.42009, -0.375359], [-1.26883, -0.404219], [-1.14696, -0.42964], [-1.04921, -0.454037], [-0.970987, -0.479153], [-0.908679, -0.506383], [-0.859522, -0.536976], [-0.821447, -0.572184], [-0.792927, -0.613378], [-0.772857, -0.66216], [-0.760468, -0.720491], [-0.755257, -0.790843], [-0.756925, -0.87639], [-0.765276, -0.981206], [-0.780021, -1.11039], [-0.800329, -1.2698], [-0.823817, -1.46458], [-0.844469, -1.69428], [-0.849393, -1.9416], [-0.817662, -2.15669], [-0.730925, -2.26321], [-0.595579, -2.21753], [-0.443436, -2.0564], [-0.303483, -1.85245], [-0.186891, -1.65595], [-0.0928698, -1.48672], [-0.0166947, -1.34791], [0.0465345, -1.23654], [0.10087, -1.14834], [0.149488, -1.07941], [0.1949, -1.02661], [0.239193, -0.987622], [0.284213, -0.960773], [0.331737, -0.944968], [0.383608, -0.939593], [0.441888, -0.944467], [0.509021, -0.959821], [0.588024, -0.986298], [0.682709, -1.02492], [0.797878, -1.07698], [0.939277, -1.1436], [1.11269, -1.22445], [1.32051, -1.31467], [1.55295, -1.39868], [1.77345, -1.44347], [1.91674, -1.40688], [1.93238, -1.27484], [1.83666, -1.08399], [1.68869, -0.885988], [1.53629, -0.710498], [1.40143, -0.564922], [1.28985, -0.446394], [1.20069, -0.349402], [1.13121, -0.268662], [1.07861, -0.19982], [1.04063, -0.139417], [1.01561, -0.0846739], [1.00246, -0.033274]],
shape_superformula(phi_step, 5, 5, 2, 7, 7)
);
assertEqualPoints(
[[1, 0], [1.01152, 0.0506182], [1.04698, 0.105048], [1.1092, 0.16764], [1.20339, 0.243939], [1.33791, 0.341624], [1.52572, 0.471962], [1.78679, 0.652231], [2.15196, 0.909833], [2.66848, 1.28903], [3.40163, 1.85832], [4.38533, 2.68867], [5.31795, 3.63821], [5.21969, 3.96804], [4.07824, 3.43506], [2.94434, 2.74294], [2.13604, 2.19936], [1.58844, 1.80818], [1.21289, 1.52844], [0.94915, 1.32728], [0.759365, 1.18264], [0.619566, 1.0801], [0.514194, 1.01027], [0.432843, 0.967189], [0.368313, 0.947358], [0.315392, 0.949197], [0.270066, 0.972808], [0.228941, 1.01999], [0.188771, 1.09448], [0.145971, 1.20254], [0.0960115, 1.35392], [0.0325194, 1.56358], [-0.0541752, 1.85447], [-0.179554, 2.26221], [-0.369288, 2.84223], [-0.665737, 3.67509], [-1.12653, 4.82856], [-1.73828, 6.0632], [-2.14781, 6.28681], [-2.04375, 5.12873], [-1.73893, 3.79962], [-1.46326, 2.81613], [-1.2524, 2.1414], [-1.09618, 1.67603], [-0.98164, 1.34859], [-0.899049, 1.11358], [-0.841742, 0.942086], [-0.805346, 0.815383], [-0.787212, 0.721095], [-0.786068, 0.650875], [-0.801862, 0.599006], [-0.835762, 0.561517], [-0.89032, 0.535611], [-0.969828, 0.519278], [-1.08096, 0.510996], [-1.23382, 0.509464], [-1.44373, 0.513286], [-1.73411, 0.520486], [-2.14139, 0.527645], [-2.72274, 0.528129], [-3.56417, 0.508052], [-4.75645, 0.436866], [-6.14785, 0.255837], [-6.7005, -0.0563526], [-5.69824, -0.333213], [-4.31439, -0.469565], [-3.24565, -0.518488], [-2.50306, -0.52935], [-1.98833, -0.525556], [-1.62553, -0.517854], [-1.36551, -0.511506], [-1.17693, -0.509306], [-1.0395, -0.512965], [-0.939942, -0.523805], [-0.869437, -0.54317], [-0.822211, -0.572716], [-0.794612, -0.614681], [-0.784584, -0.672207], [-0.791379, -0.749777], [-0.815451, -0.853873], [-0.858509, -0.994007], [-0.923733, -1.18437], [-1.01619, -1.44659], [-1.14349, -1.81427], [-1.31653, -2.34052], [-1.54875, -3.10729], [-1.84355, -4.21411], [-2.12163, -5.59607], [-2.06709, -6.40047], [-1.52786, -5.68873], [-0.950155, -4.40627], [-0.550622, -3.36099], [-0.296078, -2.62339], [-0.131746, -2.10908], [-0.0216213, -1.74567], [0.0558973, -1.48533], [0.113961, -1.29737], [0.160915, -1.16192], [0.202386, -1.06604], [0.242505, -1.0013], [0.284683, -0.962361], [0.332165, -0.946188], [0.388497, -0.951568], [0.458025, -0.978956], [0.546524, -1.03054], [0.662109, -1.11056], [0.816652, -1.22601], [1.02809, -1.38773], [1.32431, -1.61239], [1.74961, -1.92535], [2.37383, -2.36333], [3.29077, -2.96387], [4.50315, -3.66528], [5.41596, -3.9753], [5.06223, -3.33967], [4.0315, -2.37938], [3.12661, -1.64041], [2.47407, -1.1442], [2.01498, -0.812247], [1.68917, -0.58459], [1.45554, -0.423562], [1.28747, -0.305774], [1.1677, -0.216324], [1.08502, -0.145363], [1.03224, -0.0860607], [1.00505, -0.03336]],
shape_superformula(phi_step, 5, 5, 2, 13, 13)
);
assertEqualPoints(
[[1, 0], [0.952343, 0.0476569], [0.908814, 0.0911857], [0.868708, 0.131292], [0.831455, 0.168545], [0.796596, 0.203404], [0.763746, 0.236254], [0.732585, 0.267415], [0.702843, 0.297157], [0.674284, 0.325716], [0.646704, 0.353296], [0.619922, 0.380078], [0.593776, 0.406224], [0.568116, 0.431884], [0.542803, 0.457197], [0.517706, 0.482294], [0.492698, 0.507302], [0.467654, 0.532346], [0.442447, 0.557553], [0.416947, 0.583053], [0.391021, 0.608979], [0.364522, 0.635478], [0.337295, 0.662705], [0.309167, 0.690833], [0.279943, 0.720057], [0.249403, 0.750597], [0.217291, 0.782709], [0.18331, 0.81669], [0.147104, 0.852896], [0.108246, 0.891754], [0.0662178, 0.933782], [0.0203743, 0.979626], [-0.0283841, 0.971616], [-0.0735346, 0.926465], [-0.114989, 0.885011], [-0.153366, 0.846634], [-0.189171, 0.810829], [-0.222814, 0.777186], [-0.254642, 0.745358], [-0.284944, 0.715056], [-0.313969, 0.686031], [-0.341933, 0.658067], [-0.369026, 0.630974], [-0.395417, 0.604583], [-0.421262, 0.578738], [-0.446703, 0.553297], [-0.471874, 0.528126], [-0.496904, 0.503096], [-0.521918, 0.478082], [-0.547042, 0.452958], [-0.572404, 0.427596], [-0.598136, 0.401864], [-0.624378, 0.375622], [-0.651282, 0.348718], [-0.679013, 0.320987], [-0.707757, 0.292243], [-0.73772, 0.26228], [-0.769145, 0.230855], [-0.802309, 0.197691], [-0.837542, 0.162458], [-0.87524, 0.12476], [-0.915879, 0.0841208], [-0.960049, 0.0399515], [-0.99166, -0.00834006], [-0.944754, -0.055246], [-0.901846, -0.098154], [-0.862256, -0.137744], [-0.825436, -0.174564], [-0.790939, -0.209061], [-0.758394, -0.241606], [-0.72749, -0.27251], [-0.697962, -0.302038], [-0.669581, -0.330419], [-0.642148, -0.357852], [-0.615484, -0.384516], [-0.58943, -0.41057], [-0.563837, -0.436163], [-0.53857, -0.46143], [-0.513497, -0.486503], [-0.488492, -0.511508], [-0.463429, -0.536571], [-0.438182, -0.561818], [-0.41262, -0.58738], [-0.386608, -0.613392], [-0.359998, -0.640002], [-0.332632, -0.667368], [-0.304333, -0.695667], [-0.274904, -0.725096], [-0.244119, -0.755881], [-0.211715, -0.788285], [-0.177386, -0.822614], [-0.140766, -0.859234], [-0.101415, -0.898585], [-0.0587935, -0.941206], [-0.0122341, -0.987766], [0.0362679, -0.963732], [0.0807471, -0.919253], [0.121644, -0.878356], [0.159556, -0.840444], [0.194971, -0.805029], [0.228286, -0.771714], [0.259838, -0.740162], [0.289909, -0.710091], [0.318741, -0.681259], [0.346546, -0.653454], [0.373509, -0.626491], [0.399799, -0.600201], [0.425566, -0.574434], [0.450952, -0.549048], [0.476091, -0.523909], [0.501109, -0.498891], [0.526133, -0.473867], [0.551288, -0.448712], [0.576702, -0.423298], [0.60251, -0.39749], [0.628853, -0.371147], [0.655884, -0.344116], [0.683772, -0.316228], [0.712705, -0.287295], [0.742897, -0.257103], [0.774593, -0.225407], [0.808081, -0.191919], [0.843699, -0.156301], [0.881855, -0.118145], [0.923044, -0.0769564], [0.967874, -0.0321259]],
shape_superformula(phi_step, 4, 4, 1, 1, 1)
);
assertEqualPoints(
[[1, 0], [1.00753, 0.0504186], [1.03051, 0.103396], [1.0701, 0.16173], [1.12841, 0.228739], [1.20861, 0.308609], [1.31531, 0.406873], [1.45494, 0.531094], [1.6363, 0.691815], [1.87108, 0.903838], [2.17399, 1.18766], [2.56112, 1.57024], [3.04332, 2.08205], [3.60829, 2.74304], [4.1846, 3.52464], [4.60527, 4.29026], [4.65072, 4.78857], [4.22983, 4.81496], [3.49968, 4.41016], [2.71587, 3.79783], [2.04032, 3.17761], [1.51667, 2.64405], [1.12862, 2.21747], [0.844503, 1.88704], [0.635385, 1.63431], [0.479153, 1.44205], [0.359947, 1.29657], [0.26658, 1.18768], [0.19111, 1.10804], [0.127762, 1.05253], [0.0721696, 1.01771], [0.0208295, 1.00151], [-0.0293007, 1.00299], [-0.081135, 1.02222], [-0.137769, 1.06034], [-0.20282, 1.11963], [-0.280848, 1.20378], [-0.377932, 1.31824], [-0.502476, 1.47079], [-0.666343, 1.67216], [-0.886338, 1.93667], [-1.18574, 2.28202], [-1.59447, 2.72629], [-2.14343, 3.27724], [-2.84282, 3.90551], [-3.63268, 4.49952], [-4.32915, 4.84522], [-4.67634, 4.73462], [-4.55515, 4.17256], [-4.09274, 3.38884], [-3.50946, 2.62163], [-2.95559, 1.98575], [-2.4895, 1.49767], [-2.11759, 1.13383], [-1.82726, 0.863792], [-1.60241, 0.66166], [-1.42881, 0.507979], [-1.29526, 0.388766], [-1.19341, 0.29406], [-1.11717, 0.216697], [-1.0622, 0.151411], [-1.02552, 0.0941911], [-1.0052, 0.0418306], [-1.00021, -0.00841199], [-1.01029, -0.0590785], [-1.03596, -0.11275], [-1.07853, -0.172293], [-1.14026, -0.241143], [-1.22455, -0.323673], [-1.33628, -0.425707], [-1.48224, -0.555232], [-1.67168, -0.723409], [-1.91683, -0.9459], [-2.2328, -1.24428], [-2.63547, -1.64648], [-3.13352, -2.18267], [-3.70768, -2.86811], [-4.27223, -3.66031], [-4.64448, -4.40033], [-4.61122, -4.82849], [-4.12154, -4.77204], [-3.36546, -4.31506], [-2.59228, -3.69021], [-1.94163, -3.0806], [-1.44274, -2.56489], [-1.07442, -2.15564], [-0.804773, -1.83961], [-0.605909, -1.59816], [-0.456867, -1.41463], [-0.342685, -1.27593], [-0.252814, -1.1724], [-0.17974, -1.09713], [-0.117973, -1.0453], [-0.0633234, -1.01372], [-0.0123923, -1.00054], [0.0378197, -1.00497], [0.0902351, -1.02727], [0.148012, -1.06875], [0.214893, -1.13192], [0.29565, -1.22073], [0.396687, -1.34098], [0.5269, -1.5009], [0.698873, -1.71179], [0.930403, -1.98859], [1.24595, -2.34939], [1.67627, -2.81162], [2.25095, -3.37925], [2.97264, -4.0125], [3.76326, -4.58189], [4.41823, -4.862], [4.68803, -4.66728], [4.49516, -4.04862], [3.99768, -3.25385], [3.41169, -2.50417], [2.87046, -1.89371], [2.42058, -1.42862], [2.06349, -1.08263], [1.78528, -0.825651], [1.56997, -0.632863], [1.4038, -0.48583], [1.2761, -0.371346], [1.17893, -0.279997], [1.10653, -0.204993], [1.05482, -0.141317], [1.021, -0.0851231], [1.0033, -0.033302]],
shape_superformula(phi_step, 4, 4, 1, 7, 8)
);
}
test_shape_superformula();