public override double calc_position(ref move m, double move_time) { Vector3d c = m.get_coord(move_time); double dx = tower_x - c.X, dy = tower_y - c.Y; return(Math.Sqrt(arm2 - dx * dx - dy * dy) + c.Z); }
public override double calc_position(ref move m, double move_time) { Vector3d c = m.get_coord(move_time); double dx = anchor.X - c.X, dy = anchor.Y - c.Y; double dz = anchor.Z - c.Z; return(Math.Sqrt(dx * dx + dy * dy + dz * dz)); }
public override double calc_position(ref move m, double move_time) { Vector3d c = m.get_coord(move_time); // XXX - handle x==y==0 // XXX - handle angle wrapping return(Math.Atan2(c.Y, c.X)); }
public override double calc_position(ref move m, double move_time) { return(m.get_coord(move_time).Z); }
public override double calc_position(ref move m, double move_time) { Vector3d c = m.get_coord(move_time); return(c.X - c.Y); }
public override double calc_position(ref move m, double move_time) { Vector3d c = m.get_coord(move_time); return(Math.Sqrt(c.X * c.X + c.Y * c.Y)); }