转啊转

Time Limit: 1000 MS Memory Limit: 65536 KB
Total Submissions: 59 Accepted: 15

Description

    在二维平面上,有一个固定的圆和一个固定的点(保证该点不在圆上),还有一个动点在圆上以角速度w绕圆心一直转。在t时刻,连接该动点与定点成一条直线k,求直线k被圆所截线段的长度(即直线k在圆内部分长度)。

         动点初始时刻在圆的三点钟方向(即与x轴正方向平行),并以逆时针方向绕圆转。

  

Input

       先输入一个整数T,表示T(T<50)组数据。

每组数据一行七个实数a,b,r(r>0),x,y,w(w>=0),t(t>=0) 分别表示圆的圆心坐标(a,b),半径r,固定点坐标(x,y),角速度w,要查询的时刻t。

    上述所有数据的绝对值小于10000。

Output

         输出答案占一行,保留2位小数。

Sample Input

1

1 1 1 3 1 3 0

Sample Output

2.00

Hint

角速度定义:

一个以弧度为单位的圆(一个圆周为2π,即:360度=2π),在单位时间内所走的弧度即为角速度。

这道题在省赛时没有做出来,真的是很亏,考得纯粹的数学题
题解,这道题也是比较简单的,注意点到直线的公示
点(a, b),直线:y=kx+b;
距离d=|kx-y+b|/√[k²+(-1)²] ;
然后就是点B的表示方式:B(a+rcos(wt), b+rsin(wt));
有这几个就可以把这道题给写好了
#include <iostream>
#include <cstdio>
#include <cmath> using namespace std; int main()
{
int T;
scanf("%d", &T);
while (T--)
{
double a, b, r, x, y, w, t;
scanf("%lf%lf%lf%lf%lf%lf%lf", &a, &b, &r, &x, &y, &w, &t);
double bx = a + r * cos(w*t);
double by = b + r * sin(w*t);
double k = (by - y) / (bx - x);//斜率k
double l = y - k * x;
double d = pow(k * a - b + l, 2) / (k * k + 1);//点到直线的距离公式
double ans = sqrt(r * r - d) * 2;
printf("%.2lf\n", ans);
}
return 0;
}

最新文章

  1. GitHub一代:我们都是开源控
  2. Java是如何处理别名(aliasing)的
  3. Spring配置项&lt;context:annotation-config/&gt;说明
  4. 错误 -force-32bit 与 ANDROID_EMULATOR_FORCE_32BIT=true
  5. JavaScript学习笔记(12)——JavaScript自定义对象
  6. noj [1475] Bachelor (找1的个数)
  7. [LeetCode] 55. Jump Game 解题思路
  8. Java单元测试工具:JUnit4(一)(二)(三)(四)
  9. myeclipse序列号
  10. 【C/C++】BinarySearch
  11. ajax加php实现简单的投票效果
  12. 老板让我们去陪睡!-It高管的焦虑
  13. Web 开发模式演变历史和趋势
  14. 51Nod 1326 遥远的旅途
  15. spring和mybatis的整合开发(基于MapperFactoryBean的整合开发(方便简单不复杂))
  16. win10安装ubuntu16.04双系统历程
  17. css background-image 自适应宽高——转载
  18. feign无法注入service
  19. 关于CSS布局
  20. centos 7 部署 MQTT

热门文章

  1. 【Android Developers Training】 78. 序言:执行网络操作
  2. easyui(一) 初始easyui
  3. 如何将md文件转换成带目录的html文件
  4. FileInputStreamTest
  5. oracle linux 7.3 下用dtrace 跟踪 mysql-community-server-5.6.20
  6. Chrome浏览器扩展开发系列之四:Browser Action类型的Chrome浏览器扩展
  7. java IO之 编码 (码表 编码 解码 转换流)
  8. Socket 文件传输
  9. Linux 学习记录 四(Bash 和 Shell scirpt)
  10. [IB配置]PeopleSoft如何重置网关属性administrator密码