You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何遍历多边形坐标点数组调用getAngle函数计算所有内角?

你可以直接用最基础的索引遍历for循环实现,步骤很简单:

  1. 先处理你拿到的三层嵌套坐标数组,把坐标点拉平成符合getAngle入参要求的元组列表
  2. 遍历坐标索引,每次取连续3个点调用函数即可

代码实现(Python示例)

# 1. 预处理原始坐标数组,拉平为元组格式的点列表
raw_arr = [[[623, 284]],
 [[526, 256]],
 [[532, 189]],
 [[504, 166]],
 [[323, 175]],
 [[276, 219]],
 [[119, 221]],
 [[1, 272]],
 [[0, 473]],
 [[615, 479]]]
point_list = [tuple(item[0]) for item in raw_arr]

# 若原始数组是numpy三维数组,用下面的方式预处理更方便
# import numpy as np
# point_list = [tuple(p) for p in np.squeeze(raw_arr)]

# 2. 循环调用getAngle计算所有内角
angle_result = []
# 索引范围到列表长度-2即可,保证每次能取到i、i+1、i+2三个连续点
for idx in range(len(point_list) - 2):
    current_angle = getAngle(point_list[idx], point_list[idx+1], point_list[idx+2])
    angle_result.append(current_angle)

如果你要计算的是闭合多边形的所有内角,需要补充计算最后两个和首尾点关联的内角,可以在上述循环结束后补充两次调用:

# 补充闭合多边形的最后两个内角
angle_result.append(getAngle(point_list[-2], point_list[-1], point_list[0]))
angle_result.append(getAngle(point_list[-1], point_list[0], point_list[1]))

内容的提问来源于stack exchange,提问作者user16731999

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:06:05