2008年7月4日
#
-- util.lua
-- Common Lua Function
-- Author: Liu Denghong
-- Date: 20080702
require "liu"
liu.util = liu.util or {version = 0.1;};
liu.util.Print=function(msg)
print(msg);
end;
-- Min
liu.util.Min = function(a,b)
return (a<b and a) or b;
end;
-- Max
liu.util.Max = function(a,b)
return (a>b and a) or b;
end;
-- IsTrue
liu.util.IsTrue = function(a)
return (a~=false and a~=nil);
end;
-- 只适用于表: a={"liu","deng","hong"};
-- 不适用于记录型表: b={name="liu", name1="deng", name2="hong"}
-- 等价于ipairs(t)
liu.util.TableIter = function(t)
local i = 0
local n = table.getn(t)
return function ()
i = i + 1
if i <= n then return t[i] end
end
end
2008年7月2日
#
-- liu.lua
-- Common Lua Function
-- Author: Liu Denghong
-- Date: 20080630
liu = liu or {version='0.1';};
-- Examp: liu.Apply(liu, {a=1,b=2});
liu.Apply = function(o, c, defaults)
if defaults then
liu.Apply(o, defaults);
end
if (o and c and type(c)=="table") then
for p,v in pairs(c) do
o[p] = v;
end
end
end
liu.Apply(liu, {
EmptyFn = function() end;
Num = function(v, defaultValue)
if(type(v) ~= "number") then
return defaultValue;
end
return v;
end;
});
2008年1月4日
#
图像旋转是指把定义的图像绕某一点以逆时针或顺时针方向旋转一定的角度,通常是指绕图像的中心以逆时针方向旋转。
假设图像的左上角为(left, top),右下角为(right, bottom),则图像上任意点(x0, y0)绕其中心(xcenter, ycenter)逆时针旋转angle角度后,新的坐标位置(x′, y′)的计算公式为:
xcenter = (right - left + 1) / 2 + left;
ycenter = (bottom - top + 1) / 2 + top;
x′ = (x0 - xcenter) cosθ - (y0 - ycenter) sinθ + xcenter;
y′ = (x0 - xcenter) sinθ + (y0 - ycenter) cosθ + ycenter;
与图像的镜像变换相类似,也采用按行逐点变换的方式实现图像的旋转
(摘录自http://v3.7880.com/Info/Article-79ea53c0.html)
hhh
2007年12月25日
#
今天要用c++处理一个XML文件,但是又不想用很庞大的库。
最后在网上找到了一个小巧的类CMarkup. 感觉非常好用。
http://www.firstobject.com/dn_markup.htm
2007年12月22日
#