/// <summary> /// 根据分段比例调节速度 /// </summary> /// <param name="start"></param> /// <param name="end"></param> /// <param name="speed"></param> /// <returns></returns> private HostarSpeed GetSpeed(double start, double end, HostarSpeed speed) { double dist = Math.Abs(end - start); double rate = 1; if (dist < 10) { rate = 0.7; } else if (dist < 20) { rate = 0.8; } else if (dist < 40) { rate = 0.9; } HostarSpeed newSpeed = new HostarSpeed(); newSpeed.StartSpeed = speed.StartSpeed * rate; newSpeed.MaxSpeed = speed.MaxSpeed * rate; newSpeed.AccTime = speed.AccTime; newSpeed.DecTime = speed.DecTime; return(newSpeed); }
private void SetHostarSpeed() { if (this.InvokeRequired) { this.Invoke(new Action(() => { this.SetHostarSpeed(); })); } else { if (this.hostarSpeed == null) { this.hostarSpeed = new HostarSpeed(); } this.teStartSpeed.Text = this.hostarSpeed.StartSpeed.ToString(); this.teMaxSpeed.Text = this.hostarSpeed.MaxSpeed.ToString(); this.teAcc.Text = this.hostarSpeed.AccTime.ToString(); this.teDec.Text = this.hostarSpeed.DecTime.ToString(); } }