刚学编程一天的菜鸟请教高手们。。。谢谢。。
已知一条折线由8个点vi组成,i=01234567。并知道这八个点的坐标。。。。θi是由V0V1构成的向量与ViVi+1构成的向量按逆时针方向形成的夹角。若在点Vi时有(θmax-θmin)>=180度。则记录点Vi。。。。{θmax,,θmin属于(θ0。θ1.....θn-1)}。。。用C#实现。。。。刚写了几行代码。。不会用类的东西。。只有建数组来做。。。。。:
private void button1_Click(object sender, EventArgs e)
{
double[] X = new double[] {1,5,6,8,10,34,58,78 };
double[] Y = new double[] {2,9,15,28,30,32,54,71 };
double[] K = new double[7];
double[] jiajiao = new double[6];
int i = 0, j=0;
double k,max,min,angle,hudu;
do
{
k = (Y[i+1]-Y[i])/(X[i+1]-X[i]);
K[i] = k;
i++;
}
while (i <= 6);
do
{
hudu = Math.Atan(K[j + 1] - K[j]) /(1 + K[j + 1] * K[j]);
angle = 180 * (hudu/Math.PI);
jiajiao[j] = angle;
j++;
}
while (j <= 5);
写到这里写不下去了。。。接下来要比较夹角的大小,然后如果(MAX-MIN)>=180,就要记录该点(详情见题)。。。不知道怎么实现、、求高手指教一下。!
谢谢谢谢!!