[英]Draw a turning arc connecting 3 waypoints in Java
您可以设计一个数学公式(更难但更有效),也可以考虑这样的事情:
想象一下开车,在直路(W点到A点)之后有一个转弯(在A点)。 在开始转弯之前,您将沿着道路指向速度矢量。 一旦开始转弯,您将获得一个沿转弯(从A点到B点)的(递增)速度矢量和一个沿道路指向的(递减)速度矢量。 您可以通过将两者相加来计算最终的速度向量。 示例算法如下所示:
while(turning){
straight_vector.magnitude = straight_vector.magnitude - 1;
turn_vector.magnitude = turn_vector.magnitude + 1;
resulting_vector = straight_vector + turn_vector; //vector addition
next_point.x = prev_point.x + resulting_vector.magnitude * Math.cos(resulting_vector.direction);
next_point.y = prev_point.y + resulting_vector.magnitude * Math.sin(resulting_vector.direction);
plot(next_point);
prev_point = next_point;
}
您可以在Java中使用Vector3d类来表示向量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.