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

如何编写程序判断给定点是否满足指定几何条件?

如何编写程序判断点的几何属性

需要判断给定点是否符合以下几何条件:

  • 原点
  • 红色正方形框(x、y范围均为[-2,2])
  • 蓝色对角线(直线x=y或x=-y)
  • 第一至第四象限

几何区域示意图

完整判断代码(Swift)

func describePoint(_ point: (Int, Int)) {
    let (x, y) = point
    var descriptions = [String]()
    
    // 原点判断
    if x == 0 && y == 0 {
        descriptions.append("位于原点")
    } else {
        // 坐标轴判断
        if x == 0 {
            descriptions.append("在y轴上")
        } else if y == 0 {
            descriptions.append("在x轴上")
        } else {
            // 象限判断
            switch (x > 0, y > 0) {
            case (true, true): descriptions.append("在第一象限(I)")
            case (false, true): descriptions.append("在第二象限(II)")
            case (false, false): descriptions.append("在第三象限(III)")
            case (true, false): descriptions.append("在第四象限(IV)")
            }
        }
        
        // 蓝色对角线判断
        if x == y {
            descriptions.append("在直线x=y(蓝色对角线)上")
        } else if x == -y {
            descriptions.append("在直线x=-y(蓝色对角线)上")
        }
        
        // 红色正方形框判断
        if (-2...2).contains(x) && (-2...2).contains(y) {
            descriptions.append("位于红色正方形框内")
        } else {
            descriptions.append("位于红色正方形框外")
        }
    }
    
    // 输出结果
    print("点\(point):\(descriptions.joined(separator: ","))")
}

// 测试用例
describePoint((0, 0))       // 原点
describePoint((1, 1))       // 第一象限、x=y、框内
describePoint((2, 0))       // x轴、框内
describePoint((1, -1))      // 第四象限、x=-y、框内
describePoint((-3, 2))      // 第二象限、框外

逻辑说明

  1. 优先判断原点,避免后续条件冲突
  2. 坐标轴上的点不属于任何象限,单独判断
  3. 对角线和正方形框的判断覆盖所有非原点的点,确保属性不遗漏
  4. 用数组收集所有符合的属性,最后拼接输出,结果清晰直观

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 21:02:10