/// <summary> /// Add the result of bifurcation analysis. /// </summary> /// <param name="x">The candidate data for X Axis.</param> /// <param name="y">The candidate data for Y Axis.</param> /// <param name="res">The result of bifurcation analysis.</param> private void AddPoint(double x, double y, BifurcationResult res) { int i, j; for (i = 0; i < m_xList.Count; i++) { if (m_xList[i] == x) break; } for (j = 0; j < m_yList.Count; j++) { if (m_yList[j] == y) break; } if (i > s_num || j > s_num) return; if (res == BifurcationResult.NG) { int resX = i / s_skip; int resY = j / s_skip; m_region[resX, resY] = 0; } m_result[i, j] = res; }
/// <summary> /// Convert from BifurcationResult to int. /// </summary> /// <param name="type">BifurcationResult</param> /// <returns>the int data.</returns> private static int Type2Int(BifurcationResult type) { switch (type) { case BifurcationResult.None: return -1; case BifurcationResult.OK: return 0; case BifurcationResult.NG: return 1; case BifurcationResult.FindOk: return 2; } return -1; }