Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua和cos的问题?_Lua - Fatal编程技术网

Lua和cos的问题?

Lua和cos的问题?,lua,Lua,我已经在论坛上重写了我以前的代码,这是为TI Nspire Calculator设计的,它将解决三角形中所有缺少的边和角,然后用提供的度量值或边/角在右侧绘制三角形。当我在a、B、C、a字段中输入数据时,解决方案查找器出现问题,b、 c它不会计算任何缺失的边或面积/周长。我可以单击enter,它不会崩溃或解决任何问题。但是,如果我填充所有字段,我的If语句会出错,在此之前,我的cos^1会出错。代码如下 platform.apilevel = '2.3' A,B,C,a,b,c,Per

我已经在论坛上重写了我以前的代码,这是为TI Nspire Calculator设计的,它将解决三角形中所有缺少的边和角,然后用提供的度量值或边/角在右侧绘制三角形。当我在a、B、C、a字段中输入数据时,解决方案查找器出现问题,b、 c它不会计算任何缺失的边或面积/周长。我可以单击enter,它不会崩溃或解决任何问题。但是,如果我填充所有字段,我的If语句会出错,在此之前,我的cos^1会出错。代码如下

platform.apilevel = '2.3'     
A,B,C,a,b,c,Perimeter,Area=1,2,3,4,5,6,7,8
values = {0,0,0,0,0,0,0,0} 
selection=1

function on.arrowKey(key)
if key=="up" then
    selection=selection-(selection>1 and 1 or -7)
elseif key=="down" then
    selection=selection%8+1     
end
platform.window:invalidate()
end

function on.paint(gc)
gc:setColorRGB(0,0,0)
gc:fillRect(0,0,318,212)
gc:setFont("sansserif", "r", 12)
gc:setColorRGB(0,200,0)
gc:drawString("Welcome Right Triangle Solver V:1",37,-2)
gc:setColorRGB(200,0,0)
gc:setFont("sansserif","i",6)
gc:drawString("Created by: ApprenticeCoder And Ldstudios Of tifreakware.net",30,16)
gc:setFont("sansserif","b",12)
gc:drawString("Only Click",16,160)
gc:drawString("Enter Once!",10,180)
gc:drawRect(6,160,98,44)
gc:drawRect(5,32,100,125)
gc:drawRect(151,32,165,178)
gc:drawRect(151,45,165,165)  
gc:setFont("sansserif","i",6)
gc:drawString("Section For Drawing Triangle",173,32)
gc:setColorRGB(200,0,0)

for i,v in ipairs({"A","B","C","a","b","c","Perimeter","Area"}) do
    gc:setFont("serif","r",12)
    if selection==i then
        gc:setFont("serif","b",12)
    end
    gc:drawString(v..": "..values[i],10,15+15*i) 
end
end

function on.charIn(char) 
if char:find("%d") then 
    values[selection]=tonumber(values[selection]..char)
    platform.window:invalidate()
end
end

function on.backspaceKey()
values[selection]=string.sub(tostring(values[selection]),0,-2)
if values[selection]:find("%d") then
    values[selection]=tonumber(values[selection])
else
    values[selection]=0
end
platform.window:invalidate()
end
function on.enterKey()
if values[A]==0 and values[B]~=0 and values[C]~=0 and values[a]~=0 then
values[A]=math.sqrt(values[B]^2+values[C]^2-((2*values[B]*values[C])*math.cos(values[a])))
elseif values[B]==0 and values[A]~=0 and values[C]~=0 and values[b]~=0 then
values[B]=math.sqrt(values[A]^2+values[C]^2-((2*values[A]*values[C])*math.cos(values[b])))
elseif values[C]~=0 and values[A]~=0 and values[B]~=0 and values[c]~=0 then
values[C]=math.sqrt(values[A]^2+values[B]^2-((2*values[A]*values[B])*math.cos(values[c])))
end
if values[a]==0 and values[A]~=0 and values[B]~=0 and values[C]~=0 then
values[a]=(math.cos^-1)((values[B]^2+values[C]^2-values[A]^2)/(2*values[B]*values[C]))
elseif values[b]==0 and values[A]~=0 and values[B]~=0 and values[C]~=0 then
values[b]=(math.cos^-1)((values[A]^2+values[C]^2-values[B]^2)/(2*values[A]*values[C]))
elseif values[c]==0 and values[A]~=0 and values[B]~=0 and values[C]~=0 then
values[c]=(math.cos^-1)((values[A]^2+values[B]^2-values[C]^2)/(2*values[A]*values[B]))
end
if values[Perimeter]==0 and values[A]~=0 and values[B]~=0 and values[C]~= 0 then
values[Perimeter]=values[A]+values[B]+values[C]
end
if values[Area]==0 and values[A]~=0 and values[B]~=0 and values[C]~=0 then
s=((values[A]+values[B]+values[C])/2)
values[Area]=math.sqrt(s*(s-values[A])(s-values[B])(s-values[C]))
end

platform.window:invalidate()
end

你好像在用余弦定律。在本例中,您希望使用
math.acos
而不是
math.cos^-1

在您的示例中,我没有看到任何可以进行任何类型计算的代码。我的错误是,我剪切了代码来测试其余代码,现在一切都结束了。
math.cos^-1
这是无效的。什么是“一个-1的幂函数”?math.cos()^1呢?