Mathf中的比較好玩或者方便的函式

2021-07-26 16:23:02 字數 2648 閱讀 8482

int abs(int value)

float abs(float value)

這個不用多說,是計算並返回絕對值

float ceil(float value)

用來返回大於或者等於浮點數value的乙個最小整數(注意:返回的是乙個falot型別)

int ceiltoint(float value)

和ceil一樣,只不過返回的是乙個int型別

float floor(float value)

用來返回小於或等於浮點數value的乙個最大整數(注意:返回的是乙個falot型別)

float floor(float value)

和floor一樣,只不過返回的是乙個int型別

比較兩個浮點數是否相近

乙個很小的浮點數值,但不同於0

規則:- anyvalue + epsilon = anyvalue

- anyvalue - epsilon = anyvalue

- 0 + epsilon = epsilon

- 0 - epsilon = -epsilon

bool isequal(float a, float b)

int clamp(int value ,int min ,int max)

float clamp(float value,float min,float max)

返回限制在min和max中的數,比如min為0,max為1,如果value為2的話,返回的是1,如果value為-1的話返回的是0。只有當value為min和max之間才返回的是value。

float clamp(float value)

和clamp一樣,只不過自動將min設定為了0,max設定為了1。

弧度=度*mathf.deg2rad

其實就等於(pi * 2) / 360。

度=弧度*mathf.rad2deg 

其實就等於360 / (pi * 2)

int closestpoweroftwo(int value)

返回距離value最近的2的次方數。

比如mathf.closestpoweroftwo(19)返回16,因為19離2的4次方最近,於是返回了2的4次方

int nextpoweroftwo (int value)

返回距離value最近的下乙個2的次方數。

比如mathf.nextpoweroftwo(7)返回8

float deltaangle(float current,float target)

計算給定的兩個角之間最短的差異。

比如mathf.deltaangle(1080,90)就會輸出90。

bool ispoweroftwo(int value)

返回value是否是2的幾次方

float lerp(float from,float to,float t)

返回基於浮點數t返回from到to之間的插值,t要在0和1之間

如果t=0.5的話,就返回from和to的中間值

float max(float a,float b)

float max(params float values)

返回最大的值

float min(float a,float b)

float min(params float values)

返回最小的值

float movetowards(float current,float target,float maxdelta)

是乙個值向目標值靠近,速度不超過maxdelta,如果maxdelta為負的話將會將遠離

float pingpong(float t,float length)

在0到length之間往返。t值永遠不大於length,也不會小於0。

由0到length再由length到0往返

float repeat(float t,float length)

和pingpong很像,只不過這個是從0到length之後再回到0再到length。

float pow(float f,float p)

返回f的p次方

float round(float f)

返回四捨五入值,但如果數字末尾為.5,因此它是在兩個整數中間,不管是偶數或是奇數,將返回偶數。

int roundtoint(float f)

換round很像,只不過返回值為整數

float sign(float f)

如果f為正或者為0,就返回1,如果為負就返回-1

比較好玩的C 模板類 Map

map自動建立key value的對應。key和value可以是任意型別。根據key值快速查詢記錄,查詢的複雜度基本是log n 如果有1000個記錄,最多查詢10次 1,000,000個記錄,最多查詢20次。map提供的操作 1.快速插入key value記錄 2.快速刪除記錄 3.根據key修改...

AsyncTask 比較好的解釋

package com.example.asynctask import android.os.asynctask import android.widget.progressbar import android.widget.textview 生成該類的物件,並呼叫execute方法之後 首先執行...

HTML中DL UL OL用哪個比較好?

這裡是修真院前端小課堂,每篇分享文從 八個方面深度解析前端知識 技能,本篇分享的是 html中dl ul ol用哪個比較好?ul,ol,dl標籤是css網頁布局中常用的列表元素。列表將具有相似特徵或先後順序的內容按照從上到下的順序排列起來 1.ul標籤 無序列表始於 u l 標籤。每個列表項始於l ...