绘制曲线

来源:互联网 发布:java 变量字节 编辑:程序博客网 时间:2024/04/28 14:33
private   void   Cal(System.Drawing   .Point     []   pt)
{
double   max=0.00,min=0.00;
int   maxIdex=0,minIndex=0;
System.Collections   .Hashtable     linePoint=new   Hashtable   ();//点集
System.Collections   .Hashtable     kPoint=new   Hashtable   ();//斜率
int   i=0;
foreach(Point   tempt   in     pt)
{
linePoint[i]=tempt;
i++;
}
/////////////计算斜率
while   (i> 0)
{
Point   tempt1=(Point)linePoint[i-1];
Point   tempt2=(Point)linePoint[i];
kPoint[i]=(double)(tempt2.Y   -tempt1.Y   )/(tempt2.X     -tempt1.X);
}
////////////找出斜率最大和最小的值
foreach(DictionaryEntry     item   in   kPoint)
{
if(max <(double)item.Value   )
{
max=(double)item.Value   ;
maxIdex=(int)item.Key;
}
if(min> (double)item.Value   )
{
min=(double)item.Value   ;
minIndex=(int)item.Key;
}
}
                        string   maxk=kPoint[maxIdex].ToString   ();//最大斜率
Point     maxBegin=(Point)linePoint[maxIdex-1];//最大斜率起点
        Point     maxEnd=(Point)linePoint[maxIdex];//最大斜率终点

        string   mink=kPoint[minIndex].ToString   ();//最小斜率
Point     minBegin=(Point)linePoint[minIndex-1];//最小斜率起点
Point     minEnd=(Point)linePoint[minIndex];//最大小斜率终点
}