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

Python计算半圆5个等距坐标代码与参考实现差异疑问

半圆等距点计算问题解答

核心差异:等距分段逻辑错误

你和参考代码的分歧本质是对「半圆上5个等距点」的分段逻辑不同:

  • 5个点要覆盖完整的θ∈[0, π]半圆(对应角度0°~180°),总弧度长度为π,5个点之间会形成4个等长间隔,因此每个间隔的弧度为π/(5-1) = π/4(即45°),这是参考代码的计算依据。
  • 你的代码按36°间隔取值,是错误的将总角度180°除以点数5得到间隔,同时跳过了0°的起始点,生成的点既不覆盖完整半圆边界,也不符合等距要求。

参考代码逻辑拆解

import math
r=float(input())/2
op=[[round(r*math.cos(i*math.pi/4),2),round(r*math.sin(i*math.pi/4),2)] for i in range(5)]
print(op)
  • range(5)生成索引i为0、1、2、3、4,刚好对应5个目标点
  • 每个点的角度计算:i * π/4,依次得到角度值0、π/4、π/2、3π/4、π,刚好覆盖0到π的完整上半圆,相邻点弧长完全相等,符合题目要求
  • 生成的5个坐标依次为:(r,0)、(r√2/2, r√2/2)、(0,r)、(-r√2/2, r√2/2)、(-r,0),正好是上半圆的均匀等距点

你的代码问题明细

你的代码range(36, 181, 36)生成的角度为36°、72°、108°、144°、180°,存在两个问题:

  • 缺失了半圆起始点0°(坐标(r, 0)),不符合题目要求的重叠圆形边界范围
  • 36°的间隔不是半圆的均匀等分间隔,生成的点不满足等距要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:24:01