示例#1
0
        /// <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;
        }
示例#2
0
        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);
            }
        }