首页 > 其他分享 >圆与三角函数的公式与使用

圆与三角函数的公式与使用

时间:2022-10-21 11:59:55浏览次数:61  
标签:cos angle 三角函数 val 公式 180 radius 使用 坐标值

前言

  此篇博客以记录三角函数与圆的代码上的应用

 

获取极坐标系下的圆上的坐标值

这种情况下,只有你把画布中心点移动到中央。

坐标图:

 

公式:

θ = angle * π / 180
px=Cx+R*cos(θ) //x坐标值 = 圆心X坐标 + 半径 * cos (θ) 
py=Cy+R*sin(θ) //y坐标值 = 圆心y坐标 + 半径 * cos (θ) 

代码写法:

            val angle = 0
            val radius = 30f
            val centerX = 0f
            val centerY = 0f
            val px = centerX + radius * cos(angle * Math.PI / 180)
            val py = centerY + radius * sin(angle * Math.PI / 180)

获取第四象限坐标系下的圆上的坐标值

一般情况下开发碰到的是第四象限的坐标。所以经常使用的是下面的这个公式

坐标图:

 

公式:

求py的加号变成了减号

θ = angle * π / 180
px=Cx+R*cos(θ) //x坐标值 = 圆心X坐标 + 半径 * cos (θ) 
py=Cy-R*sin(θ) //y坐标值 = 圆心y坐标 - 半径 * cos (θ)

代码写法:

            val angle = 0
            val radius = 30f
            val centerX = 100f
            val centerY = 100f
            val px = centerX + radius * cos(angle * Math.PI / 180)
            val py = centerY - radius * sin(angle * Math.PI / 180)

 

 

 

 

 

End

标签:cos,angle,三角函数,val,公式,180,radius,使用,坐标值
From: https://www.cnblogs.com/guanxinjing/p/16812968.html

相关文章

  • yii2 中 linslin\Curl的基本使用
     yii2中linslin\Curl的基本使用一、get请求:1.1简单get请求uselinslin\yii2\curl;$curl=newcurl\Curl();//gethttp://example.com/get请求改网址$respons......
  • MMDetection 安装及使用
    #=============================================#Author:Mikigo#Time:2021/9/1#=============================================一、虚拟环境安装cd~wg......
  • 【Axure】第一次使用Axure的总结
      产品经理在每个产品周期中,有着不同的工作内容: 1、在产品概念阶段,产品经理需要结合市场、企业战略规划、用户需求来规划产品,以论证产品是否满足战略需求,同时能解决......
  • unittest----assert断言的使用
    unittest的官发文档链接:​​https://docs.python.org/2.7/library/unittest.html#unittest.TestCase​​先介绍下unittest的基本使用方法:1.importunittest2.定义一个继承自......
  • Postman----Newman的使用
     暂记:newman-c/Users/administrator/Desktop/Test.iBer_postman_collection.json  ​​https://www.jianshu.com/p/dd0db1b13cfc​​  待学习 作者:Syw......
  • 【http代理】Python-Selenium-Chrome(白名单使用)代码样例
    1.基于白名单方式使用Selenium+Chrome认证代理2.运行环境要求python2/3+selenium+Chrome+Chromedriver+Windows/Linux/macOS03.下载chromedriver(注意chromedrive......
  • spring集成的线程池ThreadPoolTaskExecutor使用2.0
    线程池的执行流程所有线程池的执行流程都相同,如下图所示线程池不同场景测试根据线程池不同参数进行测试测试service@Service@Slf4jpublicclassThreadPoolService......
  • 【C++入门】(九)使用继承拓展类
    1.什么是继承?基类(classAnimal)可以有多个派生类(classDog:publicAnimal)classAnimal//基类{public:stringname="123";intage;};​classDo......
  • 如何使用低代码开发平台实现出入库管理
    出入库管理是最常见的需求之一,例如举办活动所需的活动赠品管理,我们需要采购一批赠品,并将其记录在库存表中,活动结束之后要根据具体需求申请相应的赠品数量,同时更新库存表。这......
  • yarn 和 npm 不能混合使用
      当有yarn.lock的时候说明项目使用的yarn创建的则后面的都要使用yarn操作,比如下载包等;当项目没有yarn.lock而是package.json.lock说明项目使用npm创......