TC官方合作论坛

标题: 2个点之间怎么计算角度? [打印本页]

作者: xiaoling2013    时间: 2013-9-11 23:52
标题: 2个点之间怎么计算角度?

[attach]11050[/attach]
知道红点跟蓝点的坐标后怎么计算出角度呢?

作者: q273814    时间: 2013-9-12 00:03
高中的数学问题  sin cos 这些东西还记得吧
作者: xiaoling2013    时间: 2013-9-12 00:04
回复 2楼q273814的帖子

俺没学过
怎么算呢 教一下
作者: q273814    时间: 2013-9-12 00:26
回复 3楼xiaoling2013的帖子

你百度搜啊 我给你计算方式 你又看不懂
高中数学 呃 初中好像也学了的
作者: xiaoling2013    时间: 2013-9-12 00:40
回复 4楼q273814的帖子

既然这样我就自己琢磨了!
作者: q273814    时间: 2013-9-12 00:42
回复 5楼xiaoling2013的帖子

提示 以蓝点做下面黑线的垂线 构成直角三角形 根据坐标可以得知 两直角边的长度
作者: TC    时间: 2013-9-12 00:52
好像是计算三边的长度,然后有一个公式可以算出来
作者: q273814    时间: 2013-9-12 00:58
回复 7楼TC的帖子

知道2边就神马都知道了 这是直角的
作者: 99365    时间: 2013-9-12 01:09
反正有 XY

Y + - 就是十字  90°
作者: twiliam    时间: 2013-9-12 01:09
  1. //红点( x1, y1)    蓝点( x2, y2)
  2. 数学.反正切值((y2-y1)/(x2-x1))
复制代码

作者: twiliam    时间: 2013-9-12 01:15
回复 1楼xiaoling2013的帖子
  1. //红点( x1, y1)    蓝点( x2, y2)
  2. 数学.反正切值((y2-y1)/(x2-x1))
复制代码
结果是弧度值        结果*180/3.1415926535  换成角度
作者: dongyijun1979    时间: 2013-9-12 01:29
回复 1楼xiaoling2013的帖子

我郑重申明两点:
1.你提的问题本身很难理解,两点之间有距离,咋还有角度了
2.我的函数计算的是:以红点为原点,红点所在的那条黑线为X轴(红点向右为x轴正向,向左为x轴负向),y轴为与黑线垂直且过红点的那条线(上为正,下为负,你懂得) 这个大前提下,红蓝点的连线与x轴正向所加的角。这未必符合你的要求,但我只能这样理解了。抱歉!
上代码:
  1. function 计算角度(x1,y1,x2,y2)//(x1,y1)和(x2,y2)分别为第一点和第二点的坐标值
  2.         变量 临时变量1=x2-x1       
  3.     变量 横直角边长=数学.绝对值(临时变量1)
  4.         变量 临时变量2=y1-y2//warnning: 是y1-y2       
  5.     变量 竖直角边长=数学.绝对值(临时变量2)
  6.    
  7.     变量 斜边长=数学.开方(横直角边长*横直角边长+竖直角边长*竖直角边长)
  8.     变量 临时变量3=类型.转浮点型(竖直角边长)/斜边长
  9.     变量 弧度=数学.反正弦值(临时变量3)
  10.     角度=类型.转浮点型(弧度)*180/3.1415926
  11.     如果(临时变量1<0 && 临时变量2>0)
  12.         角度=180-角度
  13.     如果结束
  14.     如果(临时变量1<0 && 临时变量2<0)
  15.         角度=角度+180
  16.     如果结束
  17.     如果(临时变量1>0 && 临时变量2<0)
  18.         角度=360-角度
  19.     如果结束
  20.     help.messagebox(角度 & "度")
  21. endfunction   
复制代码

作者: dongyijun1979    时间: 2013-9-12 01:30
我的乖乖,这玩意这么短居然写了近半个小时




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1