计算几何经典问题(未解决)

双星问题:

// 注意这题原点一定不会被包含在圆内,因为我们从实际意义出发考虑可以知道。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const double pi = acos(-1);  // 这个就是pi的实现方式  , 因为 acos(-1),在数学上就是等于 pi 的值 。 

struct circle
{
    LL x, y, r;
    double a, b;
    void input() { cin >> x >> y >> r; }
    void cal_ab()
    { // 计算圆所占的极角序区间 [a, b]  //计算的是这个圆所对应的角度范围
        double mid = atan2(y, x), rad = asin(r / sqrt(x * x + y * y)) ;// atan2(y , x ) 表示的是点(x , y ) 跟 x 轴 形成的夹角。 
        a = mid - rad, b = mid + rad;
    }
};
bool check_intersected(double a, double b, double c, double d)
{// 判断两个区间 [a, b], [c, d] 是否有交集
	return c > a && a < b && d < b && d > a;
}

circle c1, c2;
int main()
{
    c1.input(), c2.input();
    c1.cal_ab(), c2.cal_ab();
    if(c1.x * c1.x + c1.y * c1.y > c2.x * c2.x + c2.y * c2.y) swap(c1, c2); // 靠近原点的圆作为 c1    	
    for(double dt : {0.0 ,  -2 * pi, 2 * pi } ) //  dt 为什么需要这个遍历呢??????????????
    {
    	double a = c1.a, b = c1.b, c = c2.a + dt, d = c2.b + dt;
		if(check_intersected(a, b, c, d))
        {
    		cout << "No";
    		return 0;
    	}
    } 
    cout << "Yes";
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: ArcGIS计算几何面积禁用可能是由多种原因造成的,其中最常见的原因是正确定义或选择计算范围。如果几何面积的计算范围已被正确定义,那么还需要确保将正确的工具和方法用于计算几何面积。如果这些条件都得到满足,但计算几何面积仍然被禁用,那么可能存在一些其他的问题。 对于计算几何面积被禁用的情况,我们可以采取如下的解决措施: 1.检查要素集合中选定的几何对象,确保它们都能够进行面积计算。 2.查看数据集合的投影系统,并确保它与使用的计算方法兼容。 3.确保需要计算几何面积的要素不是多部分要素。 4.检查需要计算几何面积的要素是否已进行拓扑处理。 5.尝试使用其他方法或工具进行几何面积计算。 总之,当ArcGIS计算几何面积被禁用时,我们需要仔细检查数据和计算设置,并采取一系列解决措施来确定和解决任何潜在问题。这样才能确保我们可以在ArcGIS平台上有效地进行各种数据处理和空间分析操作。 ### 回答2: 在 ArcGIS 中,计算几何面积是一个非常常见的功能,可以帮助用户快速准确地获得地理空间数据的面积信息。然而,在某些情况下,计算几何面积可能被禁用,这将对用户的操作带来一定的影响。以下是一些可能导致 ArcGIS 计算几何面积被禁用的情况: 1. 数据类型不支持 ArcGIS 中支持的数据类型各不相同,有些数据类型可能不支持计算几何面积功能。例如,一些特殊的矢量数据类型,如点数据或线数据,都不支持计算面积。在这种情况下,用户需要将数据转换为支持计算几何面积的数据类型,如面数据。 2. 数据源被锁定 如果从一个只读的数据源中加载数据,或者该数据源被其他人正在编辑,则计算几何面积可能会被禁用。在这种情况下,用户需要先解锁数据源,或使用一个可编辑的数据源。 3. 数据源缺少几何信息 如果从一个缺乏有效几何信息的数据源中加载数据,则计算几何面积也可能被禁用。在这种情况下,用户需要检查是否正确加载了数据源,或者尝试重新加载数据。 4. 不正确的软件版本或功能设置 有时,计算几何面积功能可能被禁用是由于用户使用了不正确的软件版本或正确配置功能。在这种情况下,用户需要检查软件版本和功能设置是否正确,并进行必要的更新和配置。 除了上述情况外,还有其他一些可能导致 ArcGIS 计算几何面积被禁用的因素。如果用户遇到这种情况,应该先检查数据源、软件设置等方面是否有问题,并进行适当的调整和修复。 ### 回答3: 计算几何面积在ArcGIS中是一个非常常用的操作。但是,在某些情况下,可能会发现计算几何面积的操作可能会被禁用。那么,为什么会出现这种情况呢? 首先,需要了解的是,ArcGIS禁用计算几何面积操作的原因通常有两种:一种是数据图层被设置为只读模式,另一种是数据图层中存在线要素。下面将分别对这两种情况进行详细介绍。 1.数据图层被设置为只读模式。 如果你发现在尝试计算某个数据图层中的要素面积时,计算几何面积操作处于禁用状态,那么很有可能是该数据图层被设置为只读模式。当数据图层被设置为只读模式时,用户无法对数据进行编辑、增加或删除要素等数据修改操作,这也包括计算几何面积操作。 如果需要进行计算几何面积操作,可以先将数据图层从只读模式中设为可编辑模式,具体方法为:选中数据图层,右键点击,选择“编辑”-“启用编辑”。 2.数据图层中存在线要素。 如果数据图层中存在线要素,如道路、河流等线状特征,那么计算几何面积操作也将被禁用。这是因为线要素本身没有面积的概念,所以无法进行面积计算。 如果需要计算该数据图层的面积,可以使用“面积工具”来计算。具体方法为:选中数据图层,点击“工具箱”-“数据管理工具”-“要素类工具”-“表面统计量”,在弹出窗口中选择面积单位和输出字段,即可得到该数据图层的面积统计结果。 综上所述,计算几何面积禁用可能是由于数据图层被设置为只读模式或者数据图层中存在线要素导致的。如果遇到这种情况,可以按照以上方法进行相应的调整和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫离626

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值