社区
C++ 语言
帖子详情
高中的一个知识#忘了。
lybapple
2003-12-19 10:09:33
从一中心点发出n条射线,
怎么得到离其中某一条射线在逆时针方向上偏离它最远的那条射线??
注:
已经知道:中心点的坐标和那n条射线上的某一点的坐标。
也就是总共n+1个点的坐标。
...全文
92
17
打赏
收藏
高中的一个知识#忘了。
从一中心点发出n条射线, 怎么得到离其中某一条射线在逆时针方向上偏离它最远的那条射线?? 注: 已经知道:中心点的坐标和那n条射线上的某一点的坐标。 也就是总共n+1个点的坐标。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wildcat1984
2003-12-20
打赏
举报
回复
#include <iostream.h>
#include <math.h>
class node{
public:
double angle;
double x;int y;
node(double a,double b):x(a),y(b){
double sina=x/sqrt(x*x+y*y),
cosa=y/sqrt(x*x+y*y);
angle=acos(cosa);
if(sina<0) angle=2*3.1415926-angle;
}
};
void main()
{node center(0,0);//假设已经平移过
node no[4]={node(2,1),node(-5,0),node(0,-5),node(-2,1)};
int num[4]={0,1,2,3};
for(int i=0;i<4;i++)
for(int j=0;j<3;j++)
if(no[num[j]].angle>no[num[j+1]].angle)
{num[j]=num[j]+num[j+1];
num[j+1]=num[j]-num[j+1];
num[j]=num[j]-num[j+1];
}
for(i=0;i<4;i++)
{cout<<no[num[i]].x<<endl<<no[num[i]].y
<<endl<<no[num[i]].angle<<endl<<endl;}
}
我只是把这四个点按角度大小排了一下序
:)
lybapple
2003-12-20
打赏
举报
回复
野猫的sina和cosa求反了,低级错误,呵呵!!
wildcat1984
2003-12-19
打赏
举报
回复
不过求出来的可能不是度数,而是弧度.
反余弦求出来的是0~~派,也就是得到4分之3派
再根据正弦为负,说明它应该大于派,
那么用2派减去3/4派就可以了
wildcat1984
2003-12-19
打赏
举报
回复
我觉得可以这样
设一个点(x,y)假设是(-1,1)吧
求正弦值.根号2.然后求余弦值.-根号2
然后反余弦求角度,是135或225(度).再根据
正弦值是正是负来
判断这个角大于还是小于180,就ok了
blvssss
2003-12-19
打赏
举报
回复
用余弦定理啊大哥们~~~~~~~~
cosc=(a2+b2-c2)/2ab
用3点坐标求出3条边长度,用公式算出余弦值,余弦值越大角度越小.不过要注意下方向~~~
lybapple
2003-12-19
打赏
举报
回复
主要是这个角度用什么好的方法来求,
因为是0-360的,
所以不是很好求阿,
要考虑方向的问题。
wildcat1984
2003-12-19
打赏
举报
回复
那么,求出这些角度,4是60(度,假设),1是180,2是270,3是300.
那么先找比4,60度小的射线----没有,然后找比360度小但是比
其他都大的射线----自然就是3了.可以先排序----
顺序是4,1,2,3,角度由小到大,
找比4还小的,没有,那么就直接找最后一个了
lybapple
2003-12-19
打赏
举报
回复
不好意思,最后一句是离射线4的角度最大。
lybapple
2003-12-19
打赏
举报
回复
4
/
/
/
/
1---\
| \
| \
| \
2 3
比如我的基线是4,要的是得到结果是3那条射线。
因为它在逆时针方向上,离3角度最大。
wildcat1984
2003-12-19
打赏
举报
回复
-----你不是说从一中心点发出n条射线,?
转换以后
那么这n条射线的起点都是原点拉
每条射线与x的夹角都在0~~2pi之间啊
lybapple
2003-12-19
打赏
举报
回复
不一定都是夹角。
--------\
\
\
上面就是一个钝角,而不是直线的夹角。
wildcat1984
2003-12-19
打赏
举报
回复
对了,好象不在单位圆上也可以求夹角
:)
wildcat1984
2003-12-19
打赏
举报
回复
我有一个想法:
改中心点0,0,相应地也改变其他点坐标.就是平移以下坐标轴.
然后把每个射线上的点坐标扩大几倍或缩小,使他们都在
单位圆上.
求出每条射线与x轴的夹角.
不知能否可行
lybapple
2003-12-19
打赏
举报
回复
是阿,就是怎么编程实现???????????
wildcat1984
2003-12-19
打赏
举报
回复
逆时针最远---就是顺时针最近啊
lybapple
2003-12-19
打赏
举报
回复
是的。
qinxi
2003-12-19
打赏
举报
回复
偏离最远是怎么定义的?角度范围?
高考数学必考
知识
点
高中
数学重点
知识
归纳
对于
高中
生来说高考数学必考
知识
点有哪些,
高中
数学重点
知识
归纳有哪些重要,需要我们掌握?下面肖老师整理了
高中
数学必考
知识
点
高中
数学重点
知识
归纳。
高中
数学重要
知识
点归纳 1.必修课程由5个模块组成: 必修1:集合,函数概念与基本初等函数(指数函数,幂函数,对数函数) 必修2:立体几何初步、平面解析几何初步。 必修3:算法初步、统计、概率。 必修4:基本初等函数(三角函数)、平面向量、三角恒等变换。 ...
初中数学503个必考
知识
点_高考数学必考
知识
点
高中
数学重点
知识
归纳
对于
高中
生来说高考数学必考
知识
点有哪些,
高中
数学重点
知识
归纳有哪些重要,需要我们掌握?下面整理了
高中
数学必考
知识
点
高中
数学重点
知识
归纳。
高中
数学重要
知识
点归纳1.必修课程由5个模块组成:必修1:集合,函数概念与基本初等函数(指数函数,幂函数,对数函数)必修2:立体几何初步、平面解析几何初步。必修3:算法初步、统计、概率。必修4:基本初等函数(三角函数)、平面向量、三角恒等变换。必修5:解...
计算机高一基础
知识
大全,计算机基础
知识
大全
新手学计算机是要掌握基础
知识
的,那基础
知识
有哪些?想知道的小伙伴看过来,下面由出国留学网小编为你精心准备了“计算机基础
知识
大全”仅供参考,持续关注本站将可以持续获取更多的资讯!计算机基础
知识
大全计算机发展依据计算机所采用电子器件的不同,计算机发展可划分为电子管、晶体管、集成电路、超大规模集成电路,一共4代,一代更比一代强。计算机系统组成
一个
完整的计算机系统包括硬件系统和软件系统两大部分。(1)硬件...
教师资格证备考经验分享(
高中
数学+
高中
信息技术)
作为
一个
成功通过
高中
数学和信息技术两门笔面试且均一次性通过的过来人,本文记录一下我的备考经验,希望能帮助大家备考节省时间,少走弯路~
学习高等数学
一个
月记录
4月15号自考完几个科目,开始准备学习高数了,现在学习了
一个
月了,半本书学完了,做个记录 开始以为
高中
的数学全
忘
了,所以把需要用到的
高中
的数学
知识
写了几个纸片笔记,后面用到可以拿来看,现在看来这个方法真的很好。 Caption 这是我昨天前天两天学习的不定积分的成果。 csdn写博客上传图片好费劲啊,搞了半天不会把图片转过来,博客只能转着脑袋看了 ...
C++ 语言
65,190
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章