1. 程式人生 > >說一下反三角函式atan等的角度計算值,弧度制和角度制

說一下反三角函式atan等的角度計算值,弧度制和角度制

   我們平時在進行數學計算是,往往會用到三角函式和反三角函式,最常用的反三角函式大概就是atan了,因為這個相當於給定兩點之間直線的夾角了。

1, 正切函式影象

正切函式值

    這時正切函式影象,高中的我們就應該知道,正切函式是周期函式,即同一個值,有很多角度值對應,那麼我們用math.h 數學庫裡的函式atan2(y,x)的時候,返回的到底是什麼呢?

2,    弧度制和角度制轉換

   反三角函式的返回值都是弧度制,要換成角度制,需要 *180/π 。 π為3.1415926......

3, 反正切函式atan2的返回值

   解決疑惑最好的辦法就是實踐啦。因為工作中要計算兩點的夾角,對於(y,x)為(+,+),(+,-),(-,+),(-,-)的時候,返回的角度到底是多少,不太確定,所以用以下程式驗證.

#include "stdafx.h"
#include <iostream>
using namespace  std;
//#define F_PATH "D:\\project\\testtest\\test_tan\\test_tan\\1.txt"  
#define  PI 3.1415926
int _tmain(int argc, _TCHAR* argv[])
{

	double ang = 0.0 ;
	double  angle = 0.0 ;

	angle = atan2(2.0,1.0);              //63
	ang = angle*180/PI ;
	cout << ang <<endl ;

	angle = atan2(-2.0,1.0) ;     // -63 , 4象限
	ang = angle*180/PI ;
	cout << ang <<endl ;

	angle = atan2(2.0,-1.0) ;            // 116  ,2象限
	ang = angle*180/PI ;
	cout << ang <<endl ;

	angle = atan2(-2.0,-1.0) ;            // -116   3象限
	ang = angle*180/PI ;
	cout << ang <<endl ; 
	cin.get();
	return 0;
}
程式執行結果為:


其實結果也很好理解,程式根據(x,y)的正負確定象限值,一二象限的為正,三四象限為負。返回角度範圍為(-180,180)。

相關推薦

一下三角函式atan角度計算弧度角度

   我們平時在進行數學計算是,往往會用到三角函式和反三角函式,最常用的反三角函式大概就是atan了,因為這個相當於給定兩點之間直線的夾角了。 1, 正切函式影象     這時正切函式影象,高中的我們就應該知道,正切函式是周期函式,即同一個值,有很多角度值對應,那麼我們用

三角函式atan()運用

# -*- coding: UTF-8 -*- import math for x in range(1, 130):#反三角函式atan() ss = math.atan(x) tt = round(ss, 4) if tt == round(math.at

重寫Math 中sin cos asin  acos 方法將其入參或者返回弧度改為角度

Math 中sin cos 方法的入參 單位是弧度,而我們在數學公式中填寫的都是角度; Math 中asin  acos 方法的返回值 單位是弧度,而我們在數學公式中arcsin  arccos返回

【技術世界】分享大資料領域技術、包括但不限於Storm、Spark、Hadoop分散式計算系統Kafka、MetaQ分散式訊息系統 MongoDBNoSQL,PostgreSQLRDBMSSQL優

技術世界 分享大資料領域技術、包括但不限於Storm、Spark、Hadoop等分散式計算系統,Kafka、MetaQ等分散式訊息系統, MongoDB等NoSQL,PostgreSQL等RDBMS,SQL優...

引用賦淺拷貝深拷貝

lan art csdn 理解 article 淺拷貝和深拷貝 blank .net hang 三種引用: http://blog.csdn.net/XIAXIA__/article/details/41652057 深拷貝和淺拷貝的理解: http://blog.csdn

Java 數組 定義一個數組獲取數組中的最大最小奇數個數偶數個數

++ java 偶數 system += 最小值 dem [] style /** * 定義一個數組,獲取數組中的最大值和最小值 奇數個數和偶數個數 * */ package com.xuyigang1234.chp01; public class Demo8 {

Python的賦深拷貝淺拷貝的區別

在python中,物件賦值實際上是物件的引用。當建立一個物件,然後把它賦給另一個變數的時候,python並沒有拷貝這個物件,而只是拷貝了這個物件的引用 一般有三種方法, alist=[1,2,3,["a","b"]]   (1)直接賦值,傳遞物件的引用而已,原始列表改變,被

python賦淺拷貝深拷貝

>>> a = 1 >>> b = a >>> a = 2 >>> a 2 >>> b 1 >>> 你將 1 賦給 a 變數,然後拷貝 a 中的值,將它賦給變數 b。當稍 後將

【轉載整理】使用預設防止出錯 dict.setdefalut() 還有assert try except

錯誤陷阱 = “用於捕捉錯誤de 陷阱” (1) 真正的報錯,硬的,一般都是直接退出程式,關機等 (2) 現在多數語言,作業系統,捕捉到錯誤後,都用 msgbox  input 等小盒子困住 錯誤,報告給玩家          

計算閏年 根據年份月份返回天數(3種方法)

翻閱筆記系列 看以前的筆記,感覺就是 我以前還了解過這個。。。 計算閏年 int year; scanf("%d",&year); bool bFlag = year%(year%1

傳指標傳引用區別聯絡

C++寫了很多年,有一天,寫著寫著程式碼。竟然自己發現對傳值,傳指標,傳引用這個每天都在用的傳遞方式的區別還不是很清楚。以為自己懂了,其實還理解得還不夠深入,基礎還需要花時間琢磨。今天參考了很多篇部落格和書籍做些總結。 其實,不用分為三類,只有兩類即可。傳值和

函式返回多個傳入引數傳出引數

 函式包括了除函式名以外還有返回值和形參。   這個形參包括了傳入引數和傳出引數;   傳入引數:就是數值的傳遞。在函式中不會修改這個引數,不會修改呼叫這個函式的函式的值。   例如   void e

【C++程式設計練習】任意給定 n 個有序整數求這 n 個有序整數序列的最大中位數最小

題目來源 CCF模擬試題>>小中大>>201903-1 題目描述 老師給了你n個整陣列成的測量資

C#實現計算給定報文的HASH其中包括SHA1、SHA256、MD5函式的使用

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO

Python計算一個目錄下的所有文件的md5在Linux系統下面

linux md5 python walk hashlib 實現代碼如下:#!/usr/bin/python #*-*coding:utf8*-* import os import sys import hashlib def md5sum(data): with open(d

給定一整型數組若數組中某個下標值大的元素小於某個下標值比它小的元素稱這是一個

merge ont -m cpp tracking 全部 執行 clas lib 【問題】 找出反序的個數 給定一整型數組,若數組中某個下標值大的元素值小於某個下標值比它小的元素值,稱這是一個反

溫度傳感器的AD電壓電阻的計算方法

溫度 輸入 alt ntc image 固定 logs 技術分享 images V是輸入的電壓,VCC是標準電壓,R為固定電阻,NTC為熱敏電阻。計算公式是V=(NTC/(NTC+R))*VCC電壓或電阻轉化AD的計算方式為AD=(V/VCC)*2^n=(NTC/(NTC

高壓VF角度計算函數(同異步電機通用) sub_ang_cal()

box get lan center 轉載 nts button font data- 高壓VF角度計算函數(同異步電機通用) sub_ang_cal() 2016-12-11 11:26 247人閱讀 評論(0) 收藏 舉報 分類: 程序備忘(42) 版

Windows下安裝python的scipy科學計算包(轉)

能夠 bsp .cn 命令 分享 mage get atp img 如果要使用python進行科學計算、數據分析等,一定要安裝scipy、seaborn、numpy等等包。 但Windows下安裝python的第三方庫經常會出現問題。此前,已介紹過Windows下如何安裝l

java反射獲取字段的屬性以及為字段賦方法

通過 獲取 首字母 color als 遍歷 方法 access col 1.獲取某個類的屬性值 1 /*利用getter方法獲取值(首字母大寫) 2 CjJssetDTO obj; 3 */ 4 String filed