2013-12-17 81 views
0

因此,我正在研究一個過程,該過程將允許我計算我放入遊戲中的模型的子對象法線。基本上,我知道如何計算它們,但我需要創建一個可以使用這一點代碼的函數。輸入(a,b,c)導致輸出(x,z,y)的函數

local sin, asin = math.sin, math.asin 
local deg, rad = math.deg, math.rad 
math.sin = function (x) return sin(rad(x)) end 
math.asin = function (x) return asin(deg(x)) end  --Makes math.sin read in degrees instead of radians 

x = function (sin (a)) 
z = function (sin (b)) 
y = function (sin (c)) 

d = {a, b, c} 
end 

e = {x, z, y} 
end 

repeat 
print("Enter a value for x:") 
a = io.read("*number")   -- read a number 
print(math.sin(a)) 
print("Do you want to repeat? Type 1 to repeat") 
a = io.read("*number") 
until a ~= 1 

它的工作方式是子對象旋轉角度的正弦變成該軸的正常值。 (z = b,因爲攪拌機在XY水平運行,遊戲在XZ水平)

基本上,我在尋找一個函數,允許我輸入「數組d」,並將輸出顯示爲「數組e」的單一輸出功能。 a,b和c是變量,而不是常數。

回答

0

Python中的函數可以被定義爲 -

def myfunc(a,b,c): 
    x = sin (a) 
    z = sin (b) 
    y = sin (c) 
    return x,y,z 

,或者你可以輸入一個數組 -

def myfunc(arr): 
    x = sin (arr[0]) 
    z = sin (arr[1]) 
    y = sin (arr[2]) 
    return {x,y,z} 

注意,您可以返回存儲在不同的方式多個號碼,根據您的需要。

相關問題