L1[math]01. 取绝对值

L1[math]02. 三角函数

小知识:注意 lua下三角函数用的参数是弧度 而不是角度

弧度=角度*pi/180  -->弧度角度换算公式  lua的math库里面也有 弧度和角度转换的2个函数 也可以直接使用   math.rad (x) math.deg (x)

我们要求30度的sin值  那么

print(math.sin(30*math.pi/180))

小知识:知道半径和圆心 如何遍历出圆上的所有点 对于常见的鼠标轨迹 还是有点用处的

圆心坐标(x0,y0) 半径为r

角度为a

圆上任意一点坐标公式

x1=x0+r*cos(a)

y1=y0+r*sin(a)

lua下的取圆上坐标的源码

--圆心坐标
x0=100 y0=100
--半径
r=50
--圆上点初始坐标
x1=0
y1=0
--10度一个间隔输出圆上坐标
for a=0,360,10 do
x1=x0+r*math.cos(a*math.pi/180)
y1=y0+r*math.sin(a*math.pi/180)
print(a .."°",x1,y1)
end

123

L1[math]03. 取整数

10 //4 =2

L1[math]04. 取余数

print(math.fmod(12,4))

补充知识:以前的table.pack 和table.unpack的用法

table.pack  把参数里面的内容变成1个数字索引表

table.unpack  把参数表的元素一个个返回 相当于return list[i], list[i+1], ···, list[j]

常见用途就是用在了函数的参数 功能和 …类似

小知识:转化为整数 类似按键的isnumeric()函数 检测是否是整数 只要不能转换为整数的返回nil 但是这个是5.3独有的函数

print(math.tointeger("12"))--12

print(math.tointeger(14))—14

自己写了一个判断是否是数值(不是整数)函数

function isnumeric(x)
local temp=tonumber(x)
local result
--print(temp)
if (temp) then
result=true
else
result=false
end
return result
end
print(isnumeric(12))
print(isnumeric("12fsdf"))
print(isnumeric("as12fsdf"))
print(isnumeric("12"))

判断是否是整数的小函数

function isint(x)
local temp=tonumber(x)
local result
--print(temp)
if (temp) then --这里判断是数值了 进一步判断是否是整数
--print(tostring(temp),tostring(math.floor(temp)))
if (tostring(temp)==tostring(math.floor(temp))) then
result=true
else
result=false
end
else
result=false
end
return result
end
print(isint("12"))
print(isint("12.54"))
print(isint(12))
print(isint("fds"))

123

L1[math]05. 取随机数

小知识:伪随机的基本原理

种子设置的参数为准  将这个参数带入到math.random()以固定的公式来获取随后的随机

如果种子设置的参数都是3  那么后面得出的随机数都是一样的

x=3
math.randomseed(x)
for i=1,5 do
print(math.random(-50,50))
end

结果

-28
-22
-22
-29
22
程序于 0.19 秒完成 (pid: 5728).

我们再次运行一次结果依然

-28
-22
-22
-29
22
程序于 0.19 秒完成 (pid: 2740).

结论:为了避免这种伪随机的情况 随机数种子函数的参数必须保持不断的变

解决办法就是 math.randomseed(os.time())  当然这种也是有漏洞的 不过大部分时候都管用

经过测试 每个源码 只需要再开头设置下随机数种子就够了

123

[lua]紫猫lua教程-命令宝典-L1-01-08. math数学函数库的更多相关文章

  1. [lua]紫猫lua教程-命令宝典-L1-01-03. 数值数据

    lua5.3在线手册地址  https://cloudwu.github.io/lua53doc/contents.html#contents 其实我们直接啃手册就够了 推荐如果有基础的先啃手册再看紫 ...

  2. [lua]紫猫lua教程-命令宝典-L1-01-02. 变量

    L1[变量]01. 变量命名规则 命名规则:数字字母下划线构成 但是不能数字开头 不推荐中文名 很多都是不支持中文 但是在一些其他的编辑器里面 比如触摸精灵 之类的 就可以 注意 :变量命名必须要包含 ...

  3. [lua]紫猫lua教程-命令宝典-L1-01-01. Lua环境与IDE

    网上大把的lua教程  不过紫猫老师的教程向来都是讲的非常仔细 所以最近天气已经36+了 魔兽世界还需要冲飞行声望  懒得写单子根本没有单子,正好认认真真的看下紫猫老师的lua教程 紫猫老师的lua教 ...

  4. [lua]紫猫lua教程-命令宝典-L1-01-04. 字符串数据

    L1[字符串]01. 单引号与双引号 没什么说得 字符串:以双引号包含 或者单引号包含 或者[[]]包含 L1[字符串]02. 长文本内容 小知识:如果用[[]]包含字符串内容 但是字符串内容里面 包 ...

  5. [lua]紫猫lua教程-命令宝典-L1-01-10. 自定义函数

    L1[function]01. 定义与调用函数 函数的定义 和概念 没什么可说的 lua的函数声明和调用是有先后顺序的  先声明后调用 函数就是变量的一种 所以可以自由的把函数在变量间相互赋值 不过注 ...

  6. [lua]紫猫lua教程-命令宝典-L1-01-07. table表

    L1[table]01. table表的定义与赋值 小知识:声明表的例子 xx={}--创建一个空表xx --给这表的元素赋值 test="a" xx[test]="a& ...

  7. [lua]紫猫lua教程-命令宝典-L1-01-11. lua的个人补充

    1.关于三目运算符的一些补充和纠正 前面没看仔细  a>b ? a: b 这个形式 似乎lua下并不存在...要了命 一般都是使用  a and b or c 的形式 但是这种形式存在一些问题 ...

  8. [lua]紫猫lua教程-命令宝典-L1-03-01. 闭包

    L1[闭包]01. 函数的传递赋值 没什么说的 1.函数作为变量来看 可以轻松的声明 相互赋值 2.函数变量本质是 一个内存指针 所以函数变量的相互赋值不是传递的函数本身 而是指向这个函数的内存地址 ...

  9. [lua]紫猫lua教程-命令宝典-L1-01-09. string字符串函数库

    L1[string]01. ASCII码互转 小知识:字符串处理的几个共同的几点 1.字符串处理函数 字符串索引可以为负数 表示从字符串末尾开始算起 所有字符串处理函数的 字符串索引参数都使用 2.所 ...

随机推荐

  1. hextorgb

    function hexToRgb(hex) { // By Tim Down - http://stackoverflow.com/a/5624139/3493650 // Expand short ...

  2. CF468A | 24 Game 找规律+打表

    (翻译版本来自 Luogu by lonelysir ) 题目描述 小X一直很喜欢一个纸牌游戏:"24点",但最近他发现这个游戏太简单了,所以他发明了一个新游戏. 你有一个整数序列 ...

  3. 2019.2.21 T2题解

    meet 大概思路就是 , 找出相交的路径 , 判断方向 , 分类讨论.. 假设已经找出了相交路径 ... 若方向相同 , 则找到相交路径上边权的最大值 , 若最大值>出发时间差 , 则可行. ...

  4. 1、腾讯云搭建Hadoop3集群

    1主机名和IP配置 1.1主机名 1.首先使用root用户名和root密码分别登录三台服务器 2.分别在三台虚拟机上执行命令: hostnamectl set-hostname node1 hostn ...

  5. PP: Deep r -th Root of Rank Supervised Joint Binary Embedding for Multivariate Time Series Retrieval

    from: Dacheng Tao 悉尼大学 PROBLEM: time series retrieval: given the current multivariate time series se ...

  6. 火狐浏览器将网页保存为pdf

    目录 火狐打印功能 火狐插件 save as pdf 深夜更博仙女镇 @ 有时候查一些技术博客之类的,当时收藏了,过一阵子再想查看的时候发现404了,所以稳妥的办法还是将把网页保存为pdf. 火狐打印 ...

  7. 0007 settings.py配置文件详解

    01 DEBUG调试配置 开发期设置为True,发布时设置为False 02 INSTALLED_APPS已安装的APP配置 INSTALLED_APPS = [ 'django.contrib.ad ...

  8. V8 是怎么跑起来的 —— V8 中的对象表示

    V8 是怎么跑起来的 —— V8 中的对象表示 ThornWu The best is yet to come 30 人赞同了该文章 本文创作于 2019-04-30,2019-12-20 迁移至此本 ...

  9. 7.Springboot之web开发

    自用 要解决的问题: 1.导入静态资源(html之类的(webapp)) 2.首页 3.没有写Jsp的地方-------->所以要学模板引擎Thymeleaf 4.装配扩展springmvc 5 ...

  10. Redis5-集群搭建实验

    集群规划: nodeA:192.168.29.22(22-master,23-slave) nodeB:192.168.29.23(23-master,24-slave) nodeC:192.168. ...