1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-20 13:31:30 +02:00

modify use case

This commit is contained in:
Justin Lin
2019-06-12 13:18:26 +08:00
parent edd022bca2
commit f89794e3cc
3 changed files with 8 additions and 677 deletions

View File

@@ -31,13 +31,13 @@ module test_shape_path_extend_stroke2() {
num_of_points = 85
);
expected = [[-4.5011, 0.0947], [-8.4053, -3.9989], [-12.4989, -0.0947], [-12.3643, -5.7817], [-8.5243, -12.4798], [-2.2566, -16.2117], [4.7338, -16.8348], [11.2185, -14.7228], [16.3807, -10.5003], [19.7496, -4.8836], [21.1346, 1.4176], [20.5617, 7.7614], [18.2156, 13.6081], [14.389, 18.5362], [9.4388, 22.2465], [3.7507, 24.5569], [-2.2893, 25.3921], [-8.317, 24.7693], [-14.0056, 22.7825], [-19.0767, 19.5862], [-23.3068, 15.3794], [-26.5297, 10.3903], [-28.6366, 4.8631], [-29.5737, -0.9545], [-29.3373, -6.8213], [-27.9691, -12.511], [-25.5494, -17.819], [-22.1903, -22.5671], [-18.0291, -26.6074], [-13.221, -29.8235], [-7.9329, -32.1319], [-2.3372, -33.4815], [3.394, -33.8522], [9.0933, -33.2528], [14.6026, -31.7189], [19.7766, -29.3093], [24.4855, -26.1033], [28.6173, -22.1964], [32.0793, -17.6978], [34.7988, -12.726], [36.7237, -7.4055], [37.8222, -1.8642], [38.0821, 3.7706], [37.5103, 9.3741], [36.1309, 14.8272], [33.984, 20.018], [31.124, 24.8443], [27.6176, 29.2145], [23.5417, 33.0491], [18.9816, 36.2816], [14.0288, 38.859], [8.7792, 40.7418], [3.3307, 41.9044], [-2.2179, 42.3347], [-7.7694, 42.0336], [-13.2293, 41.0145], [-18.5073, 39.3023], [-23.519, 36.9325], [-28.1862, 33.9503], [-32.4387, 30.4092], [-36.2144, 26.3702], [-39.4604, 21.9], [-42.1328, 17.0702], [-44.1976, 11.9559], [-45.6306, 6.6344], [-46.4169, 1.1839], [-46.5514, -4.3173], [-46.0381, -9.7921], [-44.8898, -15.1657], [-43.1276, -20.3663], [-40.7801, -25.3262], [-37.8833, -29.9823], [-34.479, -34.2768], [-30.6151, -38.1579], [-26.3437, -41.5801], [-21.7212, -44.5045], [-16.8071, -46.8992], [-11.663, -48.7393], [-6.352, -50.0072], [-0.9381, -50.6921], [4.5151, -50.7904], [9.9446, -50.3053], [15.2889, -49.2466], [20.4888, -47.6301], [25.4876, -45.4777], [30.2321, -42.8167], [34.6727, -39.6793], [35.6093, -34.1005], [30.0305, -33.1639], [30.0305, -33.1639], [26.2907, -35.855], [22.294, -38.1428], [18.0826, -40.0005], [13.7017, -41.4056], [9.1992, -42.3401], [4.6253, -42.7912], [0.0318, -42.7511], [-4.5284, -42.2178], [-9.0017, -41.195], [-13.3348, -39.6921], [-17.4748, -37.7246], [-21.3703, -35.3139], [-24.972, -32.4873], [-28.2333, -29.2777], [-31.1109, -25.7237], [-33.5658, -21.8689], [-35.5634, -17.7618], [-37.0749, -13.455], [-38.0769, -9.0052], [-38.5529, -4.4719], [-38.493, 0.0827], [-37.8948, 4.5951], [-36.7635, 9.0007], [-35.1119, 13.2352], [-32.9611, 17.2353], [-30.3397, 20.9399], [-27.2846, 24.2908], [-23.8397, 27.234], [-20.0566, 29.7206], [-15.9932, 31.7076], [-11.7134, 33.1594], [-7.2866, 34.0482], [-2.786, 34.3549], [1.7117, 34.0699], [6.1279, 33.1939], [10.3834, 31.7378], [14.3997, 29.7237], [18.1006, 27.1845], [21.4135, 24.1638], [24.2714, 20.7162], [26.6141, 16.9059], [28.3902, 12.8067], [29.5581, 8.5005], [30.0879, 4.0761], [29.9625, -0.3721], [29.1786, -4.7462], [27.7479, -8.9466], [25.6972, -12.8741], [23.0694, -16.4328], [19.9228, -19.532], [16.3312, -22.0893], [12.3824, -24.0332], [8.1775, -25.3054], [3.8285, -25.864], [-0.5437, -25.6851], [-4.8124, -24.7656], [-8.8484, -23.1242], [-12.5235, -20.8032], [-15.7156, -17.8685], [-18.3121, -14.4099], [-20.2157, -10.5398], [-21.3488, -6.3913], [-21.6583, -2.1154], [-21.1203, 2.1236], [-19.7441, 6.153], [-17.5751, 9.7984], [-14.6973, 12.8913], [-11.2338, 15.278], [-7.3453, 16.8285], [-3.2269, 17.4472], [0.898, 17.0828], [4.7872, 15.7378], [8.1917, 13.4772], [10.8722, 10.4342], [12.618, 6.8134], [13.2708, 2.8875], [12.749, -1.0117], [11.0749, -4.5129], [8.3989, -7.2362], [5.0179, -8.8399], [1.3786, -9.0853], [-1.9491, -7.9227]];
expected = [[-4.50112, 0.0946668], [-8.40532, -3.99889], [-12.4989, -0.0946859], [-12.3642, -5.78176], [-8.52426, -12.4798], [-2.25652, -16.2117], [4.73389, -16.8348], [11.2186, -14.7228], [16.3807, -10.5002], [19.7496, -4.88353], [21.1345, 1.41768], [20.5616, 7.76153], [18.2155, 13.6082], [14.3889, 18.5363], [9.43865, 22.2465], [3.75054, 24.5569], [-2.2895, 25.3921], [-8.31717, 24.7692], [-14.0057, 22.7824], [-19.0769, 19.586], [-23.3069, 15.3792], [-26.5298, 10.3901], [-28.6367, 4.86291], [-29.5736, -0.954708], [-29.3372, -6.82151], [-27.969, -12.5112], [-25.5492, -17.8192], [-22.1901, -22.5673], [-18.0289, -26.6075], [-13.2208, -29.8236], [-7.93264, -32.132], [-2.33684, -33.4815], [3.39434, -33.8521], [9.09361, -33.2527], [14.6029, -31.7188], [19.7769, -29.3091], [24.4858, -26.103], [28.6176, -22.1962], [32.0795, -17.6975], [34.799, -12.7256], [36.7238, -7.40514], [37.8222, -1.86377], [38.0821, 3.77099], [37.5102, 9.37453], [36.1307, 14.8276], [33.9838, 20.0184], [31.1237, 24.8447], [27.6173, 29.2148], [23.5413, 33.0494], [18.9812, 36.2819], [14.0284, 38.8591], [8.7787, 40.7419], [3.33025, 41.9044], [-2.21838, 42.3346], [-7.76988, 42.0335], [-13.2298, 41.0143], [-18.5078, 39.302], [-23.5194, 36.9322], [-28.1866, 33.9499], [-32.4391, 30.4088], [-36.2148, 26.3697], [-39.4606, 21.8995], [-42.133, 17.0697], [-44.1978, 11.9554], [-45.6306, 6.63376], [-46.4169, 1.18325], [-46.5513, -4.31793], [-46.038, -9.79273], [-44.8896, -15.1663], [-43.1273, -20.3669], [-40.7798, -25.3268], [-37.8829, -29.9828], [-34.4786, -34.2773], [-30.6145, -38.1583], [-26.3431, -41.5805], [-21.7206, -44.5048], [-16.8064, -46.8994], [-11.6623, -48.7395], [-6.35131, -50.0073], [-0.937338, -50.6921], [4.51586, -50.7903], [9.94533, -50.3052], [15.2896, -49.2463], [20.4895, -47.6298], [25.4883, -45.4773], [30.2327, -42.8162], [34.6733, -39.6788], [35.6098, -34.1], [30.031, -33.1634], [30.031, -33.1634], [26.2913, -35.8546], [22.2946, -38.1424], [18.0832, -40.0002], [13.7023, -41.4054], [9.19983, -42.34], [4.62594, -42.7911], [0.032421, -42.7511], [-4.52778, -42.2179], [-9.00115, -41.1951], [-13.3342, -39.6922], [-17.4742, -37.7248], [-21.3698, -35.3142], [-24.9715, -32.4876], [-28.2329, -29.2781], [-31.1106, -25.7242], [-33.5655, -21.8694], [-35.5632, -17.7623], [-37.0747, -13.4555], [-38.0768, -9.0057], [-38.5528, -4.47244], [-38.493, 0.082213], [-37.8949, 4.59457], [-36.7636, 9.00019], [-35.1121, 13.2347], [-32.9613, 17.2349], [-30.34, 20.9395], [-27.2849, 24.2905], [-23.8401, 27.2337], [-20.057, 29.7203], [-15.9936, 31.7074], [-11.7138, 33.1593], [-7.28699, 34.0481], [-2.78643, 34.3548], [1.71125, 34.0699], [6.12748, 33.1939], [10.383, 31.7379], [14.3994, 29.7239], [18.1003, 27.1847], [21.4132, 24.1641], [24.2711, 20.7165], [26.6139, 16.9062], [28.3901, 12.8071], [29.558, 8.50082], [30.0879, 4.07644], [29.9625, -0.3718], [29.1787, -4.74591], [27.748, -8.94627], [25.6973, -12.8738], [23.0695, -16.4325], [19.923, -19.5318], [16.3314, -22.0891], [12.3826, -24.033], [8.17771, -25.3053], [3.82872, -25.8639], [-0.543495, -25.6851], [-4.81221, -24.7656], [-8.84815, -23.1243], [-12.5234, -20.8033], [-15.7154, -17.8686], [-18.312, -14.41], [-20.2157, -10.5399], [-21.3488, -6.3915], [-21.6583, -2.11558], [-21.1204, 2.12341], [-19.7441, 6.15281], [-17.5752, 9.79825], [-14.6974, 12.8912], [-11.2339, 15.2779], [-7.34541, 16.8284], [-3.22705, 17.4472], [0.897907, 17.0828], [4.78711, 15.7378], [8.19166, 13.4772], [10.8721, 10.4343], [12.618, 6.81346], [13.2708, 2.8876], [12.749, -1.01163], [11.0749, -4.51283], [8.39894, -7.23614], [5.01789, -8.83984], [1.37862, -9.08532], [-1.9491, -7.92267]];
actual = shape_path_extend(
stroke2,
[for(pa = pts_angles) pa[0]]
);
assertEqualPoints(expected, actual);
}

View File

@@ -6,53 +6,16 @@ module test_shape_superformula() {
phi_step = 0.05;
assertEqualPoints(
[[1, 0], [1.0003, 0.0501], [1.0012, 0.1005], [1.0028, 0.1516], [1.005, 0.2037], [1.0077, 0.2573], [1.0111, 0.3128], [1.015, 0.3705], [1.0195, 0.431], [1.0245, 0.4949], [1.0299, 0.5626], [1.0357, 0.635], [1.0418, 0.7127], [1.0479, 0.7966], [1.0538, 0.8876], [1.0589, 0.9865], [1.0621, 1.0936], [1.0614, 1.2083], [1.0533, 1.3273], [1.0318, 1.4429], [0.9897, 1.5413], [0.9213, 1.6062], [0.8287, 1.6281], [0.7213, 1.6117], [0.6105, 1.5704], [0.5041, 1.5171], [0.4054, 1.4602], [0.3152, 1.4041], [0.2329, 1.3506], [0.1578, 1.3004], [0.0889, 1.2534], [0.0252, 1.2097], [-0.0341, 1.1688], [-0.0897, 1.1305], [-0.1422, 1.0945], [-0.1921, 1.0606], [-0.24, 1.0285], [-0.2861, 0.998], [-0.331, 0.969], [-0.375, 0.9412], [-0.4185, 0.9144], [-0.4616, 0.8885], [-0.5049, 0.8632], [-0.5484, 0.8385], [-0.5926, 0.8142], [-0.6378, 0.79], [-0.6842, 0.7657], [-0.7322, 0.7413], [-0.7821, 0.7164], [-0.8344, 0.6909], [-0.8893, 0.6644], [-0.9475, 0.6366], [-1.0093, 0.6072], [-1.0754, 0.5758], [-1.1463, 0.5419], [-1.2227, 0.5049], [-1.3052, 0.464], [-1.3941, 0.4184], [-1.4891, 0.3669], [-1.5883, 0.3081], [-1.6868, 0.2404], [-1.7743, 0.163], [-1.8345, 0.0763], [-1.851, -0.0156], [-1.8184, -0.1063], [-1.747, -0.1901], [-1.6543, -0.2643], [-1.5547, -0.3288], [-1.4565, -0.385], [-1.3634, -0.4344], [-1.2767, -0.4782], [-1.1964, -0.5177], [-1.1219, -0.5536], [-1.0527, -0.5866], [-0.9881, -0.6173], [-0.9276, -0.6461], [-0.8705, -0.6734], [-0.8165, -0.6996], [-0.7651, -0.7249], [-0.7158, -0.7496], [-0.6684, -0.7739], [-0.6225, -0.7981], [-0.5777, -0.8223], [-0.5337, -0.8468], [-0.4903, -0.8716], [-0.4471, -0.8971], [-0.4039, -0.9233], [-0.3603, -0.9504], [-0.3161, -0.9786], [-0.2708, -1.0081], [-0.2241, -1.0391], [-0.1756, -1.0718], [-0.1249, -1.1064], [-0.0714, -1.1431], [-0.0146, -1.1822], [0.0461, -1.2241], [0.1115, -1.2689], [0.1824, -1.3169], [0.2598, -1.3682], [0.3446, -1.4227], [0.4376, -1.4794], [0.5391, -1.5357], [0.6476, -1.5862], [0.7583, -1.6207], [0.8621, -1.6255], [0.9473, -1.589], [1.0066, -1.5112], [1.041, -1.4051], [1.0572, -1.2871], [1.0623, -1.169], [1.0613, -1.0566], [1.0573, -0.9523], [1.0519, -0.8562], [1.0458, -0.7676], [1.0397, -0.6859], [1.0337, -0.6101], [1.028, -0.5394], [1.0227, -0.473], [1.0179, -0.4103], [1.0136, -0.3508], [1.0099, -0.2939], [1.0067, -0.2391], [1.0042, -0.186], [1.0022, -0.1343], [1.0009, -0.0834], [1.0001, -0.0332]],
[[1, 0], [1.00031, 0.0500573], [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.494873], [1.02989, 0.562631], [1.03569, 0.634988], [1.04176, 0.712707], [1.04791, 0.796625], [1.05382, 0.887618], [1.05891, 0.986477], [1.06212, 1.09359], [1.06143, 1.20826], [1.05327, 1.32729], [1.03183, 1.4429], [0.989681, 1.54134], [0.921341, 1.60619], [0.828655, 1.62811], [0.721278, 1.61169], [0.61053, 1.57037], [0.50409, 1.51709], [0.405381, 1.46023], [0.315158, 1.4041], [0.232947, 1.3506], [0.157848, 1.30036], [0.0888879, 1.25345], [0.0251604, 1.20967], [-0.0341423, 1.16878], [-0.0897256, 1.13048], [-0.142206, 1.0945], [-0.192123, 1.06059], [-0.239956, 1.02851], [-0.286133, 0.998049], [-0.331044, 0.968998], [-0.375046, 0.941168], [-0.418473, 0.91438], [-0.461641, 0.888456], [-0.504856, 0.863226], [-0.548417, 0.838518], [-0.592622, 0.814157], [-0.637774, 0.789965], [-0.684186, 0.765751], [-0.732186, 0.741314], [-0.782123, 0.716436], [-0.834372, 0.690875], [-0.889346, 0.664361], [-0.947497, 0.63659], [-1.00933, 0.607209], [-1.0754, 0.575806], [-1.14631, 0.541894], [-1.22271, 0.504878], [-1.30517, 0.464026], [-1.39405, 0.418422], [-1.48905, 0.366911], [-1.58832, 0.30809], [-1.68684, 0.240453], [-1.77429, 0.162968], [-1.8345, 0.076346], [-1.85103, -0.0155626], [-1.81842, -0.10633], [-1.74702, -0.190135], [-1.6543, -0.264268], [-1.55469, -0.328782], [-1.45649, -0.384975], [-1.36344, -0.434355], [-1.27673, -0.478245], [-1.19637, -0.517714], [-1.12188, -0.553613], [-1.05267, -0.586621], [-0.988091, -0.617293], [-0.927557, -0.64609], [-0.870528, -0.673402], [-0.816518, -0.699563], [-0.765091, -0.724866], [-0.715846, -0.74957], [-0.668418, -0.773908], [-0.622465, -0.798093], [-0.577665, -0.822322], [-0.533711, -0.84678], [-0.490299, -0.871644], [-0.447134, -0.897088], [-0.403913, -0.923283], [-0.360329, -0.950402], [-0.316059, -0.978622], [-0.270764, -1.00813], [-0.224075, -1.03911], [-0.175591, -1.07178], [-0.124868, -1.10636], [-0.0714085, -1.14308], [-0.0146473, -1.18223], [0.0460598, -1.22406], [0.111452, -1.26886], [0.18237, -1.31688], [0.259752, -1.36824], [0.344568, -1.42274], [0.437631, -1.47942], [0.53912, -1.53573], [0.647576, -1.58617], [0.758281, -1.62073], [0.862053, -1.62552], [0.947326, -1.58897], [1.00661, -1.5112], [1.04098, -1.40513], [1.05716, -1.28714], [1.06228, -1.16898], [1.06135, -1.05666], [1.05734, -0.952316], [1.05189, -0.856175], [1.04585, -0.767657], [1.0397, -0.685922], [1.0337, -0.610096], [1.02802, -0.539367], [1.02274, -0.472999], [1.01793, -0.41034], [1.01364, -0.35081], [1.00991, -0.293889], [1.00674, -0.239108], [1.00417, -0.186036], [1.00221, -0.134275], [1.00086, -0.0834498], [1.00014, -0.0332021]],
shape_superformula(phi_step, 3, 3, 4.5, 10, 10)
);
assertEqualPoints(
[[1, 0], [1.0003, 0.0501], [1.0013, 0.1005], [1.0028, 0.1516], [1.005, 0.2037], [1.0079, 0.2574], [1.0115, 0.3129], [1.0158, 0.3708], [1.0208, 0.4316], [1.0266, 0.4959], [1.0332, 0.5644], [1.0406, 0.638], [1.0489, 0.7176], [1.0572, 0.8037], [1.0628, 0.8952], [1.0548, 0.9827], [1.0124, 1.0424], [0.9331, 1.0622], [0.8414, 1.0602], [0.7526, 1.0524], [0.6703, 1.044], [0.5944, 1.0362], [0.5238, 1.0292], [0.4579, 1.0231], [0.3957, 1.0178], [0.3367, 1.0132], [0.2802, 1.0093], [0.2258, 1.0062], [0.1731, 1.0037], [0.1216, 1.0018], [0.071, 1.0006], [0.0208, 1.0001], [-0.0292, 1.0001], [-0.0794, 1.0008], [-0.1302, 1.0021], [-0.1819, 1.004], [-0.2349, 1.0066], [-0.2895, 1.0099], [-0.3464, 1.0139], [-0.4059, 1.0186], [-0.4687, 1.0241], [-0.5354, 1.0303], [-0.6067, 1.0374], [-0.6837, 1.0454], [-0.7671, 1.0538], [-0.8568, 1.0612], [-0.948, 1.061], [-1.0226, 1.0353], [-1.058, 0.9691], [-1.0624, 0.8796], [-1.0559, 0.7888], [-1.0474, 0.7037], [-1.0393, 0.6253], [-1.032, 0.5526], [-1.0255, 0.4848], [-1.0199, 0.4211], [-1.015, 0.3609], [-1.0108, 0.3034], [-1.0074, 0.2482], [-1.0046, 0.1949], [-1.0025, 0.1429], [-1.0011, 0.0919], [-1.0002, 0.0416], [-1, -0.0084], [-1.0004, -0.0585], [-1.0015, -0.109], [-1.0032, -0.1603], [-1.0055, -0.2126], [-1.0085, -0.2666], [-1.0122, -0.3224], [-1.0165, -0.3808], [-1.0217, -0.4421], [-1.0276, -0.5071], [-1.0344, -0.5764], [-1.042, -0.651], [-1.0503, -0.7316], [-1.0585, -0.8188], [-1.0629, -0.9106], [-1.0506, -0.9954], [-1.0011, -1.0483], [-0.9179, -1.0628], [-0.826, -1.0591], [-0.7383, -1.051], [-0.6571, -1.0426], [-0.5822, -1.0349], [-0.5124, -1.0281], [-0.4472, -1.0221], [-0.3855, -1.0169], [-0.327, -1.0125], [-0.2709, -1.0087], [-0.2169, -1.0057], [-0.1644, -1.0033], [-0.113, -1.0016], [-0.0625, -1.0005], [-0.0124, -1], [0.0376, -1.0002], [0.0879, -1.001], [0.1388, -1.0024], [0.1907, -1.0044], [0.2439, -1.0072], [0.2989, -1.0105], [0.3562, -1.0146], [0.4162, -1.0195], [0.4796, -1.0251], [0.547, -1.0315], [0.6193, -1.0387], [0.6973, -1.0468], [0.7818, -1.0552], [0.8723, -1.0621], [0.9625, -1.0591], [1.0315, -1.027], [1.0602, -0.9549], [1.0617, -0.8641], [1.0545, -0.774], [1.046, -0.6901], [1.038, -0.6126], [1.0309, -0.5408], [1.0245, -0.4738], [1.019, -0.4108], [1.0142, -0.351], [1.0102, -0.294], [1.0069, -0.2391], [1.0042, -0.186], [1.0022, -0.1343], [1.0009, -0.0834], [1.0001, -0.0332]],
[[1, 0], [1.00031, 0.0500574], [1.00125, 0.10046], [1.00283, 0.151562], [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.564426], [1.04064, 0.638021], [1.04887, 0.717569], [1.05724, 0.803717], [1.0628, 0.89518], [1.05482, 0.982667], [1.01242, 1.04243], [0.933118, 1.0622], [0.841354, 1.06024], [0.752593, 1.05241], [0.670333, 1.04398], [0.594371, 1.03618], [0.523835, 1.02921], [0.457858, 1.02308], [0.395681, 1.01775], [0.336652, 1.01318], [0.280204, 1.00932], [0.225839, 1.00616], [0.17311, 1.00367], [0.121609, 1.00183], [0.0709593, 1.00063], [0.0208004, 1.00005], [-0.0292151, 1.00011], [-0.079432, 1.00079], [-0.1302, 1.00209], [-0.18188, 1.00404], [-0.234854, 1.00665], [-0.289537, 1.00992], [-0.346382, 1.01389], [-0.405899, 1.01859], [-0.468666, 1.02405], [-0.535354, 1.03032], [-0.606739, 1.03743], [-0.683704, 1.04537], [-0.767083, 1.05384], [-0.856786, 1.06124], [-0.948011, 1.06103], [-1.02259, 1.03534], [-1.05797, 0.969119], [-1.06236, 0.879651], [-1.05589, 0.788775], [-1.04744, 0.703741], [-1.03932, 0.625254], [-1.032, 0.552572], [-1.02553, 0.484797], [-1.01987, 0.421124], [-1.01499, 0.360859], [-1.01084, 0.303402], [-1.0074, 0.248228], [-1.00463, 0.19487], [-1.00252, 0.142905], [-1.00105, 0.0919462], [-1.00022, 0.0416257], [-1.00001, -0.00840762], [-1.00043, -0.0584988], [-1.00147, -0.108994], [-1.00315, -0.16025], [-1.00548, -0.212638], [-1.00848, -0.266558], [-1.01216, -0.322445], [-1.01655, -0.380784], [-1.02169, -0.442124], [-1.02761, -0.507094], [-1.03437, -0.576423], [-1.04197, -0.650956], [-1.0503, -0.731587], [-1.05852, -0.818825], [-1.06289, -0.910641], [-1.05065, -0.995413], [-1.00113, -1.04829], [-0.917916, -1.06278], [-0.826033, -1.0591], [-0.738293, -1.05098], [-0.657142, -1.04261], [-0.582156, -1.03494], [-0.512444, -1.02812], [-0.447156, -1.02213], [-0.385551, -1.01693], [-0.326994, -1.01248], [-0.27093, -1.00874], [-0.21687, -1.0057], [-0.164375, -1.00332], [-0.113043, -1.00158], [-0.0625005, -1.00049], [-0.0123899, -1.00002], [0.0376354, -1.00018], [0.0879203, -1.00096], [0.138816, -1.00238], [0.190686, -1.00444], [0.243918, -1.00715], [0.298931, -1.01054], [0.356188, -1.01463], [0.416209, -1.01946], [0.479586, -1.02505], [0.547006, -1.03146], [0.619266, -1.03871], [0.697257, -1.04677], [0.78176, -1.05524], [0.872294, -1.06205], [0.962466, -1.05915], [1.03154, -1.02698], [1.06023, -0.95492], [1.06165, -0.864124], [1.0545, -0.774011], [1.04603, -0.6901], [1.03803, -0.612652], [1.03086, -0.540856], [1.02452, -0.473824], [1.019, -0.41077], [1.01424, -0.351017], [1.01021, -0.293978], [1.00688, -0.239141], [1.00423, -0.186045], [1.00223, -0.134277], [1.00087, -0.0834499], [1.00014, -0.0332021]],
shape_superformula(phi_step, 4, 4, 12, 15, 15)
);
assertEqualPoints(
[[1, 0], [1.001, 0.0501], [1.0042, 0.1008], [1.0096, 0.1526], [1.0173, 0.2062], [1.0271, 0.2623], [1.0381, 0.3211], [1.0476, 0.3824], [1.0493, 0.4436], [1.0343, 0.4996], [0.9989, 0.5457], [0.9496, 0.5822], [0.8957, 0.6128], [0.843, 0.6408], [0.7932, 0.6681], [0.7466, 0.6956], [0.7029, 0.7237], [0.6614, 0.7528], [0.6216, 0.7833], [0.5832, 0.8155], [0.5456, 0.8497], [0.5084, 0.8863], [0.4713, 0.9259], [0.4335, 0.9687], [0.3942, 1.0141], [0.3521, 1.0596], [0.305, 1.0985], [0.2516, 1.1208], [0.1933, 1.1208], [0.1341, 1.1044], [0.0767, 1.0812], [0.022, 1.0575], [-0.0303, 1.0357], [-0.0807, 1.0165], [-0.1299, 1], [-0.1786, 0.9858], [-0.2272, 0.9739], [-0.2764, 0.9639], [-0.3266, 0.9559], [-0.3785, 0.9499], [-0.4327, 0.9456], [-0.4899, 0.9428], [-0.55, 0.9403], [-0.6119, 0.9355], [-0.6714, 0.9224], [-0.7215, 0.8937], [-0.7571, 0.8474], [-0.7808, 0.7905], [-0.7983, 0.7312], [-0.8138, 0.6738], [-0.8294, 0.6196], [-0.8459, 0.5683], [-0.8637, 0.5196], [-0.8831, 0.4728], [-0.9041, 0.4274], [-0.9271, 0.3828], [-0.9523, 0.3386], [-0.98, 0.2941], [-1.0106, 0.249], [-1.0442, 0.2025], [-1.0798, 0.1539], [-1.1144, 0.1024], [-1.1407, 0.0475], [-1.1484, -0.0097], [-1.1334, -0.0663], [-1.1033, -0.1201], [-1.0677, -0.1706], [-1.0326, -0.2184], [-1, -0.2643], [-0.9704, -0.3091], [-0.9435, -0.3534], [-0.9191, -0.3977], [-0.8968, -0.4426], [-0.8764, -0.4884], [-0.8576, -0.5358], [-0.8402, -0.5852], [-0.8241, -0.6375], [-0.8086, -0.6928], [-0.7928, -0.7511], [-0.7738, -0.8103], [-0.7468, -0.8646], [-0.7061, -0.9054], [-0.6521, -0.9282], [-0.591, -0.9377], [-0.5294, -0.9412], [-0.4703, -0.9436], [-0.4142, -0.9468], [-0.3608, -0.9517], [-0.3095, -0.9584], [-0.2597, -0.9671], [-0.2108, -0.9777], [-0.1622, -0.9903], [-0.1135, -1.0053], [-0.0639, -1.0227], [-0.0129, -1.0427], [0.0401, -1.0653], [0.0957, -1.0893], [0.1539, -1.1111], [0.2132, -1.1231], [0.2702, -1.1157], [0.3215, -1.0867], [0.3667, -1.0445], [0.4077, -0.9986], [0.4463, -0.9539], [0.4838, -0.9122], [0.5209, -0.8737], [0.5581, -0.8379], [0.596, -0.8045], [0.6348, -0.7729], [0.6751, -0.7429], [0.7173, -0.7141], [0.762, -0.6863], [0.8096, -0.6589], [0.8604, -0.6315], [0.9139, -0.6029], [0.9671, -0.5708], [1.0129, -0.5314], [1.0417, -0.4817], [1.0501, -0.4233], [1.0449, -0.3616], [1.0344, -0.301], [1.0236, -0.2431], [1.0145, -0.1879], [1.0076, -0.135], [1.0029, -0.0836], [1.0005, -0.0332]],
shape_superformula(phi_step, 7, 7, 10, 6, 6)
);
assertEqualPoints(
[[1, 0], [1.0007, 0.0501], [1.0028, 0.1006], [1.0061, 0.1521], [1.0104, 0.2048], [1.0155, 0.2593], [1.0206, 0.3157], [1.025, 0.3742], [1.0274, 0.4344], [1.0261, 0.4957], [1.0192, 0.5568], [1.0045, 0.6158], [0.9803, 0.6706], [0.946, 0.7192], [0.9025, 0.7601], [0.8516, 0.7934], [0.7961, 0.8197], [0.7383, 0.8405], [0.6802, 0.8572], [0.6231, 0.8714], [0.5676, 0.884], [0.514, 0.8961], [0.4623, 0.9082], [0.4121, 0.9209], [0.3633, 0.9344], [0.3153, 0.949], [0.2679, 0.965], [0.2205, 0.9824], [0.1727, 1.0012], [0.124, 1.0215], [0.074, 1.043], [0.0222, 1.0652], [-0.0318, 1.0875], [-0.088, 1.1087], [-0.1464, 1.127], [-0.2065, 1.1401], [-0.2673, 1.1456], [-0.3271, 1.141], [-0.3843, 1.1249], [-0.4374, 1.0976], [-0.4854, 1.0606], [-0.5282, 1.0166], [-0.5664, 0.9685], [-0.6007, 0.9185], [-0.6322, 0.8685], [-0.6616, 0.8194], [-0.6897, 0.7719], [-0.7173, 0.7262], [-0.7448, 0.6822], [-0.7726, 0.6398], [-0.8013, 0.5986], [-0.8309, 0.5583], [-0.8619, 0.5185], [-0.8944, 0.4789], [-0.9285, 0.4389], [-0.9642, 0.3981], [-1.0013, 0.356], [-1.0391, 0.3119], [-1.0767, 0.2653], [-1.1126, 0.2158], [-1.1444, 0.1631], [-1.1694, 0.1074], [-1.185, 0.0493], [-1.189, -0.01], [-1.181, -0.0691], [-1.1619, -0.1265], [-1.1343, -0.1812], [-1.1008, -0.2328], [-1.0642, -0.2813], [-1.0263, -0.327], [-0.9887, -0.3703], [-0.9521, -0.412], [-0.9169, -0.4525], [-0.8833, -0.4922], [-0.8513, -0.5319], [-0.8208, -0.5717], [-0.7915, -0.6123], [-0.7632, -0.6539], [-0.7355, -0.6968], [-0.708, -0.7414], [-0.6803, -0.7877], [-0.6518, -0.8358], [-0.6219, -0.8852], [-0.5896, -0.9354], [-0.554, -0.985], [-0.5144, -1.032], [-0.4698, -1.074], [-0.4201, -1.108], [-0.3655, -1.1316], [-0.3072, -1.1438], [-0.2469, -1.1448], [-0.1862, -1.1364], [-0.1265, -1.1213], [-0.0688, -1.1018], [-0.0134, -1.0801], [0.0398, -1.0577], [0.091, -1.0356], [0.1405, -1.0145], [0.1888, -0.9947], [0.2365, -0.9763], [0.2838, -0.9595], [0.3314, -0.944], [0.3796, -0.9297], [0.4288, -0.9165], [0.4795, -0.9041], [0.5318, -0.8921], [0.5861, -0.8799], [0.6422, -0.8668], [0.6997, -0.8519], [0.7579, -0.834], [0.8151, -0.8115], [0.8694, -0.783], [0.9181, -0.7472], [0.9586, -0.7036], [0.9895, -0.6528], [1.0104, -0.5963], [1.0223, -0.5364], [1.0271, -0.475], [1.0269, -0.414], [1.0237, -0.3543], [1.0189, -0.2965], [1.0137, -0.2408], [1.0089, -0.1869], [1.0048, -0.1346], [1.0019, -0.0835], [1.0003, -0.0332]],
shape_superformula(phi_step, 5, 5, 4, 4, 4)
);
assertEqualPoints(
[[1, 0], [1.0056, 0.0503], [1.0227, 0.1026], [1.0519, 0.159], [1.0946, 0.2219], [1.1526, 0.2943], [1.2283, 0.38], [1.3248, 0.4836], [1.4443, 0.6106], [1.5862, 0.7662], [1.7408, 0.951], [1.8778, 1.1513], [1.9418, 1.3285], [1.8814, 1.4302], [1.7043, 1.4355], [1.4736, 1.3728], [1.247, 1.2839], [1.0505, 1.1958], [0.8884, 1.1195], [0.7565, 1.0579], [0.6488, 1.0105], [0.5599, 0.9761], [0.4853, 0.9535], [0.4214, 0.9417], [0.3656, 0.9403], [0.3154, 0.9491], [0.2689, 0.9685], [0.2243, 0.9993], [0.1798, 1.0427], [0.1336, 1.1007], [0.0834, 1.1757], [0.0264, 1.2712], [-0.0406, 1.3913], [-0.1222, 1.5402], [-0.2234, 1.7195], [-0.3482, 1.922], [-0.4943, 2.1189], [-0.6448, 2.2491], [-0.7666, 2.2438], [-0.8339, 2.0925], [-0.8507, 1.8587], [-0.8385, 1.6137], [-0.8158, 1.3949], [-0.793, 1.2124], [-0.7744, 1.0639], [-0.7617, 0.9435], [-0.7556, 0.8457], [-0.7562, 0.7657], [-0.7638, 0.6997], [-0.7787, 0.6448], [-0.8015, 0.5988], [-0.8331, 0.5597], [-0.8747, 0.5262], [-0.9281, 0.4969], [-0.9954, 0.4705], [-1.0797, 0.4458], [-1.185, 0.4213], [-1.3162, 0.395], [-1.4785, 0.3643], [-1.6756, 0.325], [-1.9038, 0.2714], [-2.1389, 0.1965], [-2.3222, 0.0966], [-2.376, -0.02], [-2.2714, -0.1328], [-2.0619, -0.2244], [-1.8245, -0.2915], [-1.6054, -0.3395], [-1.4201, -0.3754], [-1.2688, -0.4042], [-1.147, -0.4296], [-1.0492, -0.454], [-0.971, -0.4792], [-0.9087, -0.5064], [-0.8595, -0.537], [-0.8214, -0.5722], [-0.7929, -0.6134], [-0.7729, -0.6622], [-0.7605, -0.7205], [-0.7553, -0.7908], [-0.7569, -0.8764], [-0.7653, -0.9812], [-0.78, -1.1104], [-0.8003, -1.2698], [-0.8238, -1.4646], [-0.8445, -1.6943], [-0.8494, -1.9416], [-0.8177, -2.1567], [-0.7309, -2.2632], [-0.5956, -2.2175], [-0.4434, -2.0564], [-0.3035, -1.8525], [-0.1869, -1.6559], [-0.0929, -1.4867], [-0.0167, -1.3479], [0.0465, -1.2365], [0.1009, -1.1483], [0.1495, -1.0794], [0.1949, -1.0266], [0.2392, -0.9876], [0.2842, -0.9608], [0.3317, -0.945], [0.3836, -0.9396], [0.4419, -0.9445], [0.509, -0.9598], [0.588, -0.9863], [0.6827, -1.0249], [0.7979, -1.077], [0.9393, -1.1436], [1.1127, -1.2244], [1.3205, -1.3147], [1.5529, -1.3987], [1.7734, -1.4435], [1.9167, -1.4069], [1.9324, -1.2748], [1.8367, -1.084], [1.6887, -0.886], [1.5363, -0.7105], [1.4014, -0.5649], [1.2899, -0.4464], [1.2007, -0.3494], [1.1312, -0.2687], [1.0786, -0.1998], [1.0406, -0.1394], [1.0156, -0.0847], [1.0025, -0.0333]],
shape_superformula(phi_step, 5, 5, 2, 7, 7)
);
assertEqualPoints(
[[1, 0], [1.0115, 0.0506], [1.047, 0.105], [1.1092, 0.1676], [1.2034, 0.2439], [1.3379, 0.3416], [1.5257, 0.472], [1.7868, 0.6522], [2.152, 0.9098], [2.6685, 1.289], [3.4016, 1.8583], [4.3853, 2.6887], [5.318, 3.6382], [5.2197, 3.968], [4.0782, 3.4351], [2.9443, 2.7429], [2.136, 2.1994], [1.5884, 1.8082], [1.2129, 1.5284], [0.9491, 1.3273], [0.7594, 1.1826], [0.6196, 1.0801], [0.5142, 1.0103], [0.4328, 0.9672], [0.3683, 0.9474], [0.3154, 0.9492], [0.2701, 0.9728], [0.2289, 1.02], [0.1888, 1.0945], [0.146, 1.2025], [0.096, 1.3539], [0.0325, 1.5636], [-0.0542, 1.8545], [-0.1796, 2.2622], [-0.3693, 2.8422], [-0.6657, 3.6751], [-1.1265, 4.8286], [-1.7383, 6.0632], [-2.1478, 6.2868], [-2.0438, 5.1287], [-1.7389, 3.7996], [-1.4633, 2.8161], [-1.2524, 2.1414], [-1.0962, 1.676], [-0.9816, 1.3486], [-0.899, 1.1136], [-0.8417, 0.9421], [-0.8053, 0.8154], [-0.7872, 0.7211], [-0.7861, 0.6509], [-0.8019, 0.599], [-0.8358, 0.5615], [-0.8903, 0.5356], [-0.9698, 0.5193], [-1.081, 0.511], [-1.2338, 0.5095], [-1.4437, 0.5133], [-1.7341, 0.5205], [-2.1414, 0.5276], [-2.7227, 0.5281], [-3.5642, 0.5081], [-4.7564, 0.4369], [-6.1478, 0.2558], [-6.7005, -0.0564], [-5.6982, -0.3332], [-4.3144, -0.4696], [-3.2456, -0.5185], [-2.5031, -0.5293], [-1.9883, -0.5256], [-1.6255, -0.5179], [-1.3655, -0.5115], [-1.1769, -0.5093], [-1.0395, -0.513], [-0.9399, -0.5238], [-0.8694, -0.5432], [-0.8222, -0.5727], [-0.7946, -0.6147], [-0.7846, -0.6722], [-0.7914, -0.7498], [-0.8155, -0.8539], [-0.8585, -0.994], [-0.9237, -1.1844], [-1.0162, -1.4466], [-1.1435, -1.8143], [-1.3165, -2.3405], [-1.5487, -3.1073], [-1.8435, -4.2141], [-2.1216, -5.5961], [-2.0671, -6.4005], [-1.5279, -5.6887], [-0.9502, -4.4063], [-0.5506, -3.361], [-0.2961, -2.6234], [-0.1317, -2.1091], [-0.0216, -1.7457], [0.0559, -1.4853], [0.114, -1.2974], [0.1609, -1.1619], [0.2024, -1.066], [0.2425, -1.0013], [0.2847, -0.9624], [0.3322, -0.9462], [0.3885, -0.9516], [0.458, -0.979], [0.5465, -1.0305], [0.6621, -1.1106], [0.8167, -1.226], [1.0281, -1.3877], [1.3243, -1.6124], [1.7496, -1.9253], [2.3738, -2.3633], [3.2908, -2.9639], [4.5032, -3.6653], [5.416, -3.9753], [5.0622, -3.3397], [4.0315, -2.3794], [3.1266, -1.6404], [2.4741, -1.1442], [2.015, -0.8122], [1.6892, -0.5846], [1.4555, -0.4236], [1.2875, -0.3058], [1.1677, -0.2163], [1.085, -0.1454], [1.0322, -0.0861], [1.0051, -0.0334]],
shape_superformula(phi_step, 5, 5, 2, 13, 13)
);
assertEqualPoints(
[[1, 0], [0.9523, 0.0477], [0.9088, 0.0912], [0.8687, 0.1313], [0.8315, 0.1685], [0.7966, 0.2034], [0.7637, 0.2363], [0.7326, 0.2674], [0.7028, 0.2972], [0.6743, 0.3257], [0.6467, 0.3533], [0.6199, 0.3801], [0.5938, 0.4062], [0.5681, 0.4319], [0.5428, 0.4572], [0.5177, 0.4823], [0.4927, 0.5073], [0.4677, 0.5323], [0.4424, 0.5576], [0.4169, 0.5831], [0.391, 0.609], [0.3645, 0.6355], [0.3373, 0.6627], [0.3092, 0.6908], [0.2799, 0.7201], [0.2494, 0.7506], [0.2173, 0.7827], [0.1833, 0.8167], [0.1471, 0.8529], [0.1082, 0.8918], [0.0662, 0.9338], [0.0204, 0.9796], [-0.0284, 0.9716], [-0.0735, 0.9265], [-0.115, 0.885], [-0.1534, 0.8466], [-0.1892, 0.8108], [-0.2228, 0.7772], [-0.2546, 0.7454], [-0.2849, 0.7151], [-0.314, 0.686], [-0.3419, 0.6581], [-0.369, 0.631], [-0.3954, 0.6046], [-0.4213, 0.5787], [-0.4467, 0.5533], [-0.4719, 0.5281], [-0.4969, 0.5031], [-0.5219, 0.4781], [-0.547, 0.453], [-0.5724, 0.4276], [-0.5981, 0.4019], [-0.6244, 0.3756], [-0.6513, 0.3487], [-0.679, 0.321], [-0.7078, 0.2922], [-0.7377, 0.2623], [-0.7691, 0.2309], [-0.8023, 0.1977], [-0.8375, 0.1625], [-0.8752, 0.1248], [-0.9159, 0.0841], [-0.96, 0.04], [-0.9917, -0.0083], [-0.9448, -0.0552], [-0.9018, -0.0982], [-0.8623, -0.1377], [-0.8254, -0.1746], [-0.7909, -0.2091], [-0.7584, -0.2416], [-0.7275, -0.2725], [-0.698, -0.302], [-0.6696, -0.3304], [-0.6421, -0.3579], [-0.6155, -0.3845], [-0.5894, -0.4106], [-0.5638, -0.4362], [-0.5386, -0.4614], [-0.5135, -0.4865], [-0.4885, -0.5115], [-0.4634, -0.5366], [-0.4382, -0.5618], [-0.4126, -0.5874], [-0.3866, -0.6134], [-0.36, -0.64], [-0.3326, -0.6674], [-0.3043, -0.6957], [-0.2749, -0.7251], [-0.2441, -0.7559], [-0.2117, -0.7883], [-0.1774, -0.8226], [-0.1408, -0.8592], [-0.1014, -0.8986], [-0.0588, -0.9412], [-0.0122, -0.9878], [0.0363, -0.9637], [0.0807, -0.9193], [0.1216, -0.8784], [0.1596, -0.8404], [0.195, -0.805], [0.2283, -0.7717], [0.2598, -0.7402], [0.2899, -0.7101], [0.3187, -0.6813], [0.3465, -0.6535], [0.3735, -0.6265], [0.3998, -0.6002], [0.4256, -0.5744], [0.451, -0.549], [0.4761, -0.5239], [0.5011, -0.4989], [0.5261, -0.4739], [0.5513, -0.4487], [0.5767, -0.4233], [0.6025, -0.3975], [0.6289, -0.3711], [0.6559, -0.3441], [0.6838, -0.3162], [0.7127, -0.2873], [0.7429, -0.2571], [0.7746, -0.2254], [0.8081, -0.1919], [0.8437, -0.1563], [0.8819, -0.1181], [0.923, -0.077], [0.9679, -0.0321]],
shape_superformula(phi_step, 4, 4, 1, 1, 1)
);
assertEqualPoints(
[[1, 0], [1.0075, 0.0504], [1.0305, 0.1034], [1.0701, 0.1617], [1.1284, 0.2287], [1.2086, 0.3086], [1.3153, 0.4069], [1.4549, 0.5311], [1.6363, 0.6918], [1.8711, 0.9038], [2.174, 1.1877], [2.5611, 1.5702], [3.0433, 2.0821], [3.6083, 2.743], [4.1846, 3.5246], [4.6053, 4.2903], [4.6507, 4.7886], [4.2298, 4.815], [3.4997, 4.4102], [2.7159, 3.7978], [2.0403, 3.1776], [1.5167, 2.644], [1.1286, 2.2175], [0.8445, 1.887], [0.6354, 1.6343], [0.4792, 1.442], [0.3599, 1.2966], [0.2666, 1.1877], [0.1911, 1.108], [0.1278, 1.0525], [0.0722, 1.0177], [0.0208, 1.0015], [-0.0293, 1.003], [-0.0811, 1.0222], [-0.1378, 1.0603], [-0.2028, 1.1196], [-0.2808, 1.2038], [-0.3779, 1.3182], [-0.5025, 1.4708], [-0.6663, 1.6722], [-0.8863, 1.9367], [-1.1857, 2.282], [-1.5945, 2.7263], [-2.1434, 3.2772], [-2.8428, 3.9055], [-3.6327, 4.4995], [-4.3291, 4.8452], [-4.6763, 4.7346], [-4.5551, 4.1726], [-4.0927, 3.3888], [-3.5095, 2.6216], [-2.9556, 1.9858], [-2.4895, 1.4977], [-2.1176, 1.1338], [-1.8273, 0.8638], [-1.6024, 0.6617], [-1.4288, 0.508], [-1.2953, 0.3888], [-1.1934, 0.2941], [-1.1172, 0.2167], [-1.0622, 0.1514], [-1.0255, 0.0942], [-1.0052, 0.0418], [-1.0002, -0.0084], [-1.0103, -0.0591], [-1.036, -0.1128], [-1.0785, -0.1723], [-1.1403, -0.2411], [-1.2246, -0.3237], [-1.3363, -0.4257], [-1.4822, -0.5552], [-1.6717, -0.7234], [-1.9168, -0.9459], [-2.2328, -1.2443], [-2.6355, -1.6465], [-3.1335, -2.1827], [-3.7077, -2.8681], [-4.2722, -3.6603], [-4.6445, -4.4003], [-4.6112, -4.8285], [-4.1215, -4.772], [-3.3655, -4.3151], [-2.5923, -3.6902], [-1.9416, -3.0806], [-1.4427, -2.5649], [-1.0744, -2.1556], [-0.8048, -1.8396], [-0.6059, -1.5982], [-0.4569, -1.4146], [-0.3427, -1.2759], [-0.2528, -1.1724], [-0.1797, -1.0971], [-0.118, -1.0453], [-0.0633, -1.0137], [-0.0124, -1.0005], [0.0378, -1.005], [0.0902, -1.0273], [0.148, -1.0688], [0.2149, -1.1319], [0.2956, -1.2207], [0.3967, -1.341], [0.5269, -1.5009], [0.6989, -1.7118], [0.9304, -1.9886], [1.246, -2.3494], [1.6763, -2.8116], [2.2509, -3.3793], [2.9726, -4.0125], [3.7633, -4.5819], [4.4182, -4.862], [4.688, -4.6673], [4.4952, -4.0486], [3.9977, -3.2539], [3.4117, -2.5042], [2.8705, -1.8937], [2.4206, -1.4286], [2.0635, -1.0826], [1.7853, -0.8257], [1.57, -0.6329], [1.4038, -0.4858], [1.2761, -0.3713], [1.1789, -0.28], [1.1065, -0.205], [1.0548, -0.1413], [1.021, -0.0851], [1.0033, -0.0333]],
shape_superformula(phi_step, 4, 4, 1, 7, 8)
);
}
test_shape_superformula();

File diff suppressed because one or more lines are too long