|
#!/usr/bin/luajit
package.path = "../LjES/?.lua;" .. package.path local demo = require("demo")
demo.screen(0, 0) local aSpace = demo.getSpace() local eye = aSpace:addNode(nil, "eye") eye:setPosition(0, 0, 30) demo.backgroundColor(0.2, 0.2, 0.4)
local shape = Shape:new() shape:donut(8, 3, 16, 16) shape:endShape() shape:shaderParameter("color", {1.0, 0.5, 0.6, 1.0})
local node = aSpace:addNode(nil, "node1") node:setPosition(0, 0, 0) node:addShape(shape) local data = {}
function std(data) local sum = 0 local sum2 = 0 local N = #data local M = N - 1 for i=1, N do sum = sum + data[i] sum2 = sum2 + data[i] * data[i] end local avg = sum / N local std = math.sqrt(sum2 / M - sum * sum / (N*M) ) return avg, std end
local draw_count = 0
function draw() local now = util.now() draw_count = draw_count + 1 if draw_count > 10 then table.insert(data, now) end node:rotateX(0.1) aSpace:draw(eye) end
demo.loop(draw, true) util.printf("No of data :%d\n", #data) local data2 = {} for i = 2, #data do table.insert(data2, data[i]-data[i-1]) end local avg, std = std(data2) util.printf("avg = %15.12f, std = %15.12f \n", avg, std) demo.exit()
|