acos 等出現結果:-1.#IND00,實操解決。求取兩個向量夾角時所遇到的問題
當出現如題的結果時,主要是因為越界導致的。
首先,C++中acos的取值範圍是[0,M_PI],也就對應cos的[-1,1]。因此,當acos(alpha)中的alpha不在[-1,1]中時,執行結果就會是:-1.#IND00。
這裡是在求取向量夾角時所遇到的問題。公式如下所示:
|a|=√[x1^2+y1^2]
|b|=√[x2^2+y2^2]
a*b=(x1,y1)(x2,y2)=x1x2+y1y2
cos=a*b/[|a|*|b|]
=(x1x2+y1y2)/[√[x1^2+y1^2]*√[x2^2+y2^2]]
出現越界情況也只能是cos約等於+1或-1時。因此這裡添加了一個if判斷,如下,最終解決問題。
float seata = acos(fz / fm);
if (isnan(seata))//acos取值範圍[-1,1],若超出範圍則越界,輸出-1.#IND00
{
seata = acos(fm / fz);
}
相關推薦
acos 等出現結果:-1.#IND00,實操解決。求取兩個向量夾角時所遇到的問題
當出現如題的結果時,主要是因為越界導致的。 首先,C++中acos的取值範圍是[0,M_PI],也就對應cos的[-1,1]。因此,當acos(alpha)中的alpha不在[-1,1]中時,執行結果就會是:-1.#IND00。 這裡是在求取向量夾角時所遇到的問題。公式如
dtIntersectSegmentPoly2D 2D上的線段與多邊形相交計算 產生結果:是否相交,線段跨越的開始和結束百分比,相交的邊
align lin wid con ont html jpg erp const dtIntersectSegmentPoly2D(startPos, endPos, verts, nv, tmin, tmax, segMin, segMax): http://g
實現中等難度通訊錄。需求: 1、定義聯絡人類AddressContact。例項變數:姓名(拼音,首字母大寫)、性別、電話號碼、住址、分組名稱、年齡。方法:自定義初始化方法(姓名、電話號碼)、顯示聯絡人
<span style="font-size:24px;">// 1、定義聯絡人類AddressContact。例項變數:姓名(拼音,首字母大寫)、性別、電話號碼、住址、分組名稱、年齡。方法:自定義初始化方法(姓名、電話號碼)、顯示聯絡人資訊 { NS
技術負債:是妥協,也是手段。
CTO 技術管理 團隊管理 很多時候,技術管理者都會遇到同樣的問題:CEO下達的命令,CTO一定要完全執行麽?關於這個問題,本來生活的技術負責人錢榮明曾經給我們講過這樣一個案例。經常有CEO一個電話就要求CTO某個項目一個月上線,這些話在創業初期不絕於耳,可能是因為你的老板不懂技術、可能是為了搶占
Python:類屬性,實例屬性,私有屬性與靜態方法,類方法,實例方法
所有 參數 方法 rate self 類屬性 不能 anaconda 賦值 類屬性可以直接在方法中賦值,但 一、調用該屬性時,必須先調用該方法; 二、與 init 方法區別是,init方法只初始化一次,初始化完成後作為全局變量。在方法中賦值屬性,每次調用該方法,該屬性初始化
已知兩個連結串列A和B分別表示兩個集合,其元素遞增排列。請設計演算法求出兩個集合A和B的差集(即僅由在A中出現而不在B中出現的元素所構成的集合),並以同樣的形式儲存,同時返回該集合的元素個數。
語言:C++ #include <iostream> using namespace std; typedef struct LNode { int data; LNode *next; }LNode,*LinkList; //建立連結串列 int CreateList(Li
全面了解移動端DNS域名劫持等雜癥:原理、根源、HttpDNS解決方案等
快的 cpi 域名服務器 來講 基本 淺析 易懂 amp 推廣 1、引言 對於互聯網,域名是訪問的第一跳,而這一跳很多時候會“失足”(尤其是移動端網絡),導致訪問錯誤內容、失敗連接等,讓用戶在互聯網上暢遊的爽快瞬間消失。 而對於這關鍵的第一跳,包括鵝廠在內的國內互聯
MP1584採用貼片8腳封裝。工作電壓4.5-28V,工作頻率1.5MHz,輸出電流3A。
MP1584採用貼片8腳封裝。工作電壓4.5-28V,工作頻率1.5MHz,輸出電流3A。通過在MOS管Q上加上開關訊號PWM,控制開關管的導通與關斷,使電感和電容充放電達到將電源進行降壓的目的。MP1584是具有整合內部高邊高壓功率MOSFET的高頻降壓開關穩壓器。 MP1584,
Matlab執行時出現“Out of Memory”問題,可能的解決辦法總結
1.在命令列中(不是在.m檔案)輸入“pack”命令,用以整理記憶體; 由於matlab是將連續記憶體塊分配給新建變數,當連續的記憶體塊不足以儲存資料時,系統就會報錯,利用“pack”命令可以將原來斷斷續續的記憶體整理成連續儲存塊,儘可能保證記憶體擁有足夠的連續記憶體
演算法習題61:找出陣列中兩個只出現一次的數字:一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次
找出陣列中兩個只出現一次的數字 題目:一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次。 請寫程式找出這兩個只出現一次的數字。要求時間複雜度是 O(n),空間複雜度是 O(1)。 --------------------------------------------
假設狗一年1歲,第3年和第5年個生出一條小狗,第六年死亡,計算第n年狗的個數(不考慮公母)
2種演算法 先定義一個狗的class class Dog: year = 1 def is_dead(self): return True if self.year >= 6 else False def add(self):
LeetCode : Intersection of Two Arrays II 兩個向量去重問題 求交集,並集,差集
std :: set_intersection 兩個排序範圍的交叉點(交集) 構造一個從result指向的位置開始的排序範圍,其中包含兩個已排序範圍 [ first1,last1 ) 和 [ first2,last2)的集合交集。 兩組的交集僅由兩組
java--封裝一類Java物件,使用者從輸入對話方塊輸入兩個日期,程式將判斷兩個日期的大小關係(比如輸出:您輸入的第二個日期大於第一個日期)以及兩個日期之間的間隔天數(比如輸出:2006年6月6日和
import java.util.*; public class Date { int year; int month; int day; public Date() {
經典面試問題: Top K 之 ---- 海量資料找出現次數最多或,不重複的。
作者:林冠巨集 / 指尖下的幽靈 僅列舉一些解決方法,事實的解決方案是非常多的。 這些問題都是面臨著有如下的考慮: 記憶體不足以放下所有的數。 機器CPU的核數不夠。 ... 問這些問題的意義: 如果能把這些問題答好,必然是綜合計算機各方面的知識,從記憶體到資料結構甚至還涉及到硬體,方法面面
你有一桶果凍,其中有黃色、綠色、紅色三種,閉上眼睛抓取同種顏色的兩個。 抓取多少個就可以確定你肯定有兩個同一顏色的果凍?(5秒-1分鐘)
你有一桶果凍,其中有黃色、綠色、紅色三種,閉上眼睛抓取同種顏色的兩個。 抓取多少個就可以確定你肯定有兩個同一顏色的果凍?(5秒-1分鐘) 分析: 1、裡面有三種顏色時,需要4個 2、
給定一系列x軸的點座標,例如 1,3,7,8,9,11這些座標升序放在陣列中,現在給一根繩子,長度為4,問繩子最多能覆蓋的點數有多少,例如繩子放前面只能覆蓋兩個點,1,3,如果放後面能覆蓋4個點。
/** * @param $data 待查詢陣列 * @param $rLen 繩子長度 */ function getRopeNum($data,$rLen) { $n = count($data); //當前最大個數 $max
演算法設計:將一個數組分為奇數、偶數左右兩個部分,要求時間複雜度為O(n)
已知陣列A[n]中的元素為整型,設計演算法將其調整為左右兩部分,左邊所有元素為奇數,右邊所有元素為偶數,並要求演算法的時間複雜度為O(n)。 程式碼實現部分: #include &l
安裝python模組時出現錯誤:UnicodeDecodeError: 'utf-8' codec ...的解決辦法
找到路徑:d:\python\lib\site-packages\pip\compat__init__.py 用編輯器開啟,將裡面的utf-8和utf_8全部替換為gbk 這是因為Windows
出現junit 出錯,找不到檔案,可以這麼解決。
來自:http://www.cnblogs.com/java-zone/articles/2730722.html 錯誤提示: 1 2 3 4 5 6 7 8 9 10 11 12 13 java.lang.ClassN
輸入一個正數x和一個正整數n,求下列算式的值。要求定義兩個調用函數:fact(n)計算n的階乘;mypow(x,n)計算x的n次冪(即xn),兩個函數的返回值類型是double
返回值 %d time data body 一個 pow color printf 題目描述 輸入一個正數x和一個正整數n,求下列算式的值。要求定義兩個調用函數:fact(n)計算n的階乘;mypow(x,n)計算x的n次冪(即xn),兩個函數的返回值類型是d