特殊三角形的sin,cos和tan

内角为30°,45°,60° 的特殊三角形,其三角比如下:

sin, cos, tan的一些规律

解题

如下题。

如果只是算一算x,y是多少没多少意思。

勇哥用halcon的算子来画出题意并解题。

下面的代码中,我们把c=20改为c=200,这样屏幕上的线条长一点方便观察。dev_close_window()

dev_open_window(0, 0, 400, 400, 'black', WindowHandle)

x:=[200,200]

y:=[150,350]

dev_set_color('red')

*显示线条x

disp_line(200000, x[0], y[0], x[1], y[1])

*200长的线转40度

hom_mat2d_identity(HomMat2DIdentity)

hom_mat2d_rotate(HomMat2DIdentity, rad(40), x[0], y[0], HomMat2DRotate)

affine_trans_point_2d(HomMat2DRotate, x[0], y[0], Qx1, Qy1)

affine_trans_point_2d(HomMat2DRotate, x[1], y[1], Qx2, Qy2)

disp_line(WindowHandle, Qx1,Qy1, Qx2,Qy2)

*求线y,它是垂足于x线的线

projection_pl(Qx2,Qy2,x[0],y[0],x[1],y[1],RowProj, ColProj)

disp_line(WindowHandle, Qx2,Qy2, RowProj, ColProj)

*擦掉多余的线

dev_set_color('black')

disp_line(WindowHandle,RowProj, ColProj, x[1], y[1])

dev_disp_text('x', 'window', 214, 238, 'black', 'box', ColProj)

dev_disp_text('y', 'window', 136, 322, 'black', 'box', ColProj)

dev_disp_text('200', 'window', 110, 190, 'black', 'box', ColProj)

dev_disp_text('40°', 'window', 173, 187, 'black', 'box', ColProj)

*本题的解

*x/200=cos(40)

*x=200*cos(40)

*y/200=sin(40)

*y=200*sin(40)

xlen:=200*cos(rad(40))

ylen:=200*sin(rad(40))

dev_disp_text('x=153.209', 'window', 280, 138, 'black', 'box', ColProj)

dev_disp_text('y=128.558', 'window', 300, 138, 'black', 'box', ColProj)

*用三平方定理验证结果是不是正确的

v1:=xlen*xlen+ylen*ylen

v2:=200.0*200.0

if((v1-v2)<0.0000001)

stop()

endif

我们来讨论一下这段代码中的几个halcon的知识点:

halcon的角度定义

下图是halcon的角度旋转坐标系。-0.5度就是基于模板,顺时针旋转了0.5度。

但是在模板匹配算子中,要看create算子是如何定义查找角度范围的,若定义0,rad(360),那么在小于1度的时候halcon会返回负值,在大于1度的时候根据你设定的0-360的范围,返回的是正角度。

做为对比,我们看下角度在数学上直角坐标系上的定义如下:

第一象限逆时针的角是正,第四象限顺时针的角是负。

下图分别为: 45度,-45度。 或者表示弧度为pi/4, -pi/4

halcon的几个算子说明

rad()  角度转弧度

deg()  弧度转角度

注意在halcon或者C#中,sin,cos之类的三角函数都是需要转入弧度的。

转换公式:

radians(弧度) = (Math.PI / 180) * degrees

degrees(角度) = (180 / Math.PI) *radians

halcon中无理数的大小相等比较

cos(40), sin(40)都是无理数,在比较大小的时候不能是v1=v2

勇哥上了这个当,你查看变量值时,显示v1=40000.0, v2=40000.0,以为v1=v2?

其实是因为显示变量值时被四舍五入显示了。

所以勇哥只能使用下面的方式判定无理数和有理数相等。

如果读者有好办法,请告诉我。if((v1-v2)<0.0000001)

stop()

endif

计算点到线的垂线交点

halcon的算子是 projection_pl。

如果是C#,可以用下面的算法。public static double pointToLineDistance(double x1, double y1, double x2, double y2, double x3, double y3)

{

double normalLength = Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));

return Math.abs((x3-x1)*(y2-y1)-(y3-y1)*(x2-x1))/normalLength;

}

另外,win10计算器开根号怎么玩?

科学模式,数字4左边那个按键

1 。输入要开方的数

2。点那个键

3。点要开几次方

例如求根号2:  先按2,再点

,最后按2, 结果是1.4142135623730950488016887242097

---------------------

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!

#转载请注明出处 www.skcircle.com 《少有人走的路》勇哥的工业自动化技术网站。如果需要本贴图片源码等资源,请向勇哥索取。

收藏 | 0点赞 | 0打赏作者

用计算机求锐角三角形的度数,三角函数超入门(2)锐角三角形的三角比相关推荐

  1. 计算机弧度制三角函数,三角函数超入门(13) 用长度来度量角度(弧度制)

    如下图,我们把角度看作是扇形的圆心角来思考,如何用长度来度量角度. 圆心角的大小与其所对应的弧度成正比,所以可以用弧长来表示角度. 在图8-10-1中,θ1:θ2=L1:L2,如果L2是K1的2倍,则 ...

  2. 用计算机求平均数怎么做,利用计算器求平均数检测试题与*

    [基础能力训练] 一.利用计算器求平均数的应用 1.已知一组数据-2,-3,-5,0,2,3,6,5,1,那么这组数据的平均数是______(精确到百分位). 2.一周内某班卫生得分如下:9.5,9. ...

  3. 用计算机求正有理数算术平方根的步骤,用计算器求算数平方根、用有理数估计算数平方根的大小.ppt...

    用计算器求算数平方根.用有理数估计算数平方根的大小.ppt 上传人:jw****88 文档编号:85573818 上传时间:2020-06-11 格式:PPT 页数:20 大小:2.14MB 下载提示 ...

  4. 第一单元 用python学习微积分(三) 求导四则运算及三角函数(下)- 三角函数

    本文内容来自学习麻省理工学院公开课:单变量微积分-求导四则运算及三角函数导数-网易公开课 开发环境准备:CSDN 目录 三.三角函数基础公式的几何意义 1.(sinx)' = cosx 四.通用公式 ...

  5. 第一单元 用python学习微积分(三) 求导四则运算及三角函数(上)- 三角函数

    本文内容来自学习麻省理工学院公开课:单变量微积分-求导四则运算及三角函数导数-网易公开课 开发环境准备:CSDN 目录 一.需要用到的公式: 二.求导特殊三角函数 1.​ 2. ​ 三.三角函数基础公 ...

  6. MIT 18.01 Single Variable Calculus(单变量微积分)课堂笔记【3】——求导四则运算和三角函数求导

    求导四则运算和三角函数求导 本节重点讲解了两个三角函数求导公式的证明: f′(sin⁡(x))=cos⁡(x)f'(\sin(x)) = \cos(x) f′(sin(x))=cos(x) f′(co ...

  7. 怎样使用计算机求一个数的立方根,计算机求数立方根的数学教案

    计算机求数立方根的数学教案 一,教学目标 1.会用计算器求数的立方根. 2.通过用计算器求立方根,培养学生的类比思想,提高运算能力: 3.利用计算器求立方根,使学生进一步领会数学的转化思想: 4.通过 ...

  8. 如何 FFT(快速傅里叶变换) 求幅度、频率(超详细 含推导过程)

    目录 如何 FFT(快速傅里叶变换) 求幅度.频率(超详细 含推导过程) 一. 打颗栗子 二. 求幅度 1. 快速傅里叶变换 2. 求出复数的绝对值 3. 归一化 小结 三. 求频率 1. 频率公式 ...

  9. 利用计算机求锐角三角函数值,利用计算器求三角函数值.doc

    全品中考网 z 全品中考网 010 全品中考网邮箱:canpointzk@188.com 第 PAGE 3 页 共 NUMPAGES 3 页 28.1锐角三角函数教案四--利用计算器求三角函数值 教学 ...

最新文章

  1. 基于node.js的压缩合并安装
  2. 认识学习网络布线与数制转换
  3. Discuz模板 轻社区Qing_freefresh 完整版
  4. 其他用户登陆到这台计算机,要登录到这台远程计算机,您必需拥有这台计算机上的‘终端服务器用户访问’权限解决方法...
  5. 在工作中你卑微到什么程度?
  6. 输入网址按回车,到底发生了什么?
  7. [SinGuLaRiTy] 二分图匈牙利算法
  8. 一名南京985AI硕士,CSDN博客专家
  9. php数组由哪三部分构成,数据结构研究的主要内容有哪三部分
  10. 下载envi中遇到的问题
  11. 生物(一)ctDNA突变检测应用于肿瘤早期筛查
  12. matlab 电力电子仿真电路,基于Matlab_Simulink的电力电子电路仿真.pdf
  13. 虫虫吃第一颗豆子---第一次作业
  14. Innovator Admin 一个aras的管理器,又一个package安装方法
  15. JetBrain的哪款产品能够编写C++和C的代码啊?
  16. 一篇文让你看懂NB-IoT、LoRa、eMTC、Sigfox及ZigBee的应用场景
  17. 创建图 figure figcaption
  18. java-IO流-搜索含java字符的文件问题
  19. 生命,因为热爱所以敬畏
  20. 机器学习算法之贝叶斯算法 3、案例二:新闻数据分类

热门文章

  1. python 处理文本(.txt文件)
  2. 使用 python进行文本处理
  3. 传奇自定义技能栏技术分享-GEE
  4. c语言怎么输入一个字符串跳出循环,关于字符串:键入Quit退出C程序
  5. 微信电脑版如何修改聊天记录等文件存放位置 电脑版微信在哪里修改存储地址
  6. 山西工程技术学院计算机专业在哪个校区,山西工程技术学院有几个校区及校区地址...
  7. 基于python的股票程序化交易论文_基于Python工具的股票量化投资策略研究
  8. 计算机网络安全作文,网络安全小学生300字作文
  9. MUR60120PT-ASEMI整流二极管MUR60120PT
  10. 异常e.getMessage()与e.getCause().getMessage()的区别