所以我有一个列表的列表找到[最大值,最小值在列表蟒列表值
alist = [[distance1,delta-angle1,object1],[distance2,delta-angle2,object2], [distance3,delta-angle3,object3],...]
我想最大限度地为“距离”和最小化“增量角”,这是是每个list
的前两个元素在alist
中,并返回该特定列表。
警告:distance
将是一个浮子和delta-angle
将在度(-180:180)
的目标是选择与“直的”角度的最长距离,但不只是最长或“直接“(或称为最小化角度变化)
编辑:我无法上传图像,所以这里是一个链接。
http://imgur.com/a/b6KWM#YqGxdlu
我想避免“回去我在那里”在这种特殊情况下。 作为第二图像中所示
IMAGE 2
第三图像是理想的 - 并且由于我还没有想到的一个更好的方式来说明这一点:最小化从当前轴承的角度变化(其Δ-角度是什么被存储在alist
已经),增加可用线段的distance
或长度(在下面的图片这里表示由上边界端点)
IMAGE 3 http://imgur.com/a/b6KWM#YqGxdlu
您定义的“最长距离与最直角”非常模糊 - 您能定义一个效用函数吗?如果你有一对元素,你怎么能决定哪一个更好? – 2013-02-12 00:51:45
直到你真正给出了一个选择哪一个更好的特定公式,你才能真正得到答案。有了这些之后,您可以在指定密钥时使用排序。 (更多阅读:http://wiki.python.org/moin/HowTo/Sorting/) – placeybordeaux 2013-02-12 01:01:42
此外,为什么你认为你需要“把[角度]放在[0 ... 360]的范围内”最小化它?你真的想要89°被认为比-45°更小吗?如果不是,则将其保留为[-180,180],并将“abs(角度)”而不是“角度”最小化。 – abarnert 2013-02-12 01:07:48