求高度

求高度


Time Limit: 1 Sec  Memory Limit: 128 MB   64bit IO Format: %lld

Description

有四个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1。这四个塔的高度为10m,塔以外无建筑物(高度为0)。

编写程序计算某点的高度。

 

Input

包含多组测试数据,每组测试数据占一行,每行包含2个数(double),分别表示某地的横纵坐标。

 

Output

每组测试数据输出占一行,输出给定地点的建筑物高度。

 

Sample Input

0 0
2 2

 

Sample Output

0
10

 


题目分析:

说白了就是要求该点是否在这四个圆的任意一个内。分别求该点到圆心的距离就好。


#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
    double a,b,m1,m2,f,l;
    while(scanf("%lf %lf",&a,&b)!=EOF)
    {
        f=0;
        m1=2;
        m2=2;
        l=(m1-a)*(m1-a)+(b-m2)*(b-m2);
        if(l<=1)
            f=1;
             
        if(f==0)
        {
            m1=-2;
            m2=2;
            l=(m1-a)*(m1-a)+(b-m2)*(b-m2);
            if(l<=1)
                f=1;
        }
         
        if(f==0)
        {
            m1=-2;
            m2=-2;
            l=(m1-a)*(m1-a)+(b-m2)*(b-m2);
            if(l<=1)
                f=1;
        }
         
        if(f==0)
        {
            m1=2;
            m2=-2;
            l=(m1-a)*(m1-a)+(b-m2)*(b-m2);
            if(l<=1)
                f=1;
        }
         
        if(f==1)
            printf("10\n");
        else
            printf("0\n");
    }
  return 0;
}

 

 

 

Cesium 是一款强大的三维地球建模工具,广泛用于创建虚拟现实和增强现实应用中的地理空间内容。在 Cesium 中,地形图数据通过一系列三角面片组成,并存储在 Terrain Asset 或者 Terrain Grid 中。 若要在 Cesium 地形上取特定点的高度值,通常涉及到以下几个步骤: ### 1. 加载地形数据 首先需要加载地形数据到 Cesium 环境中。地形数据可以是 DEM(数字高程模型)、TIN(三边网)、或是其他格式的栅格数据等。这一步通常涉及下载地形数据包,并将其导入至 Cesium 场景中。例如,对于公开可用的数据集,你可以直接从 Cesium 提供的数据库或外部资源获取并添加。 ### 2. 使用 `heightAt` 函数查询高度 一旦地形加载完毕,你可以利用 Cesium 的内置函数 `heightAt` 来获取任何给定点的高度。这个函数接受两个参数:一个是地理位置坐标 (longitude, latitude),另一个是一个可选的精度值。如果第二个参数未提供,默认精度为 0.05°。 ```javascript // 获取特定位置的高度 var location = new Cesium.Cartesian2(-122.479861, 37.856989); // 旧金山的坐标 var height = Cesium.Math.heightAt(location.longitude, location.latitude); console.log("高度:", height + " 米"); ``` ### 相关问题: 1. **如何处理缺失或不可用的地形数据区域?** 当某些区域的地形数据不可用时,`heightAt` 可能返回 `null` 或特定于环境的默认值。此时,开发者可能需要自定义策略来处理这些情况,比如使用周围已知数据进行插值计算,或者提示用户该区域的数据缺失。 2. **能否精确控制 `heightAt` 查询的精度?** 虽然 `heightAt` 默认使用的是基于像素分辨率的精度调整,但用户无法直接指定精度参数。因此,对于有特殊需的应用场景,开发者可能需要在内部逻辑中增加额外的逻辑来优化结果的精度。 3. **如何集成第三方地形数据?** 集成非官方提供的地形数据需确保数据的质量、范围覆盖度以及版权合规性。这通常涉及到下载数据、进行格式转换,最后通过 Cesium 的 API 或自定义的插件将数据加载至场景中。此外,确保数据与已有地形数据无缝融合可能需要额外的技术工作和算法支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值