前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java、Scala使用tan和arctan求斜率和倾斜角

Java、Scala使用tan和arctan求斜率和倾斜角

作者头像
静谧星空TEL
发布2021-04-27 14:33:45
1.1K0
发布2021-04-27 14:33:45
举报

实现代码

代码语言:javascript
复制
import java.text.DecimalFormat

object Test1 {

  def main(args: Array[String]): Unit = {

    val tan1 = getTanValue(0)    // tan(0°)=0
    val tan2 = getTanValue(45)   // tan(45°)=1
    val tan3 = getTanValue(90)   // tan(90°)=无限大(理论上不存在)
    val tan4 = getTanDegree(1)    // arctan(1)=45°
    val tan5 = getTanDegree(Int.MaxValue) // arctan(正无穷)=无限接近90°
  }

  /**
   * 已知tan角度,求斜率值
   * 求斜率:tan(45°)=1
   */
  def getTanValue(degree: Double): Double = {
    val value = new DecimalFormat("#.00").format(Math.tan(Math.toRadians(degree))).toDouble // tan(45°)=1
    println("tan(" + degree + "°)=" + value)
    value
  }

  /**
   * 已知斜率值,求斜率角
   * 求角度:arctan(1)=45°
   */
  def getTanDegree(value: Double): Double = {
    val degree = Math.toDegrees(Math.atan(value)) // arctan(1)=45°
    //    val degree = Math.atan(value)/Math.PI*180   // arctan(1)=45°
    println("arctan(" + value + ")=" + degree+"°")
    value
  }

}

运行结果 

tan(0.0°)=0.0 tan(45.0°)=1.0 tan(90.0°)=1.633123935319537E16 arctan(1.0)=45.0° arctan(2.147483647E9)=89.99999997331958°

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-02-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档