/// <summary> /// グラフのXからYを求める /// </summary> /// <param name="x"></param> /// <returns></returns> public decimal EvaluateY(decimal x) { int num = 0; int pontcnt = m_list.Count(); //どこのベジェ曲線か検索 num = SearchBezier(x); m_SelectPoint = m_Csvlist[num]; return((decimal)CalcYfromX((float)x)); //return y; }
public void SetList(List <CurvePointControl.BezierPoint> list) { m_list = list; m_Csvlist.Clear(); foreach (CurvePointControl.BezierPoint item in m_list) { CSVPoint cp = new CSVPoint(); cp.startPoint = new decimal[2]; cp.controlPoint1 = new decimal[2]; cp.controlPoint2 = new decimal[2]; cp.endPoint = new decimal[2]; cp.startPoint[0] = CMath.ChageDecimalPosX(item.startPoint.X); cp.startPoint[1] = CMath.ChageDecimalPosY(item.startPoint.Y); cp.controlPoint1[0] = CMath.ChageDecimalPosX(item.controlPoint1.X); cp.controlPoint1[1] = CMath.ChageDecimalPosY(item.controlPoint1.Y); cp.controlPoint2[0] = CMath.ChageDecimalPosX(item.controlPoint2.X); cp.controlPoint2[1] = CMath.ChageDecimalPosY(item.controlPoint2.Y); cp.endPoint[0] = CMath.ChageDecimalPosX(item.endPoint.X); cp.endPoint[1] = CMath.ChageDecimalPosY(item.endPoint.Y); m_Csvlist.Add(cp); } }