• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Lua绘制正弦曲线

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

夜半突来兴致,看了下wxLua的图形处理部分,感觉挺好玩,就试着写了一段画正弦曲线的代码。为了实现动画效果特意添加了延迟效果,感觉延迟的效率好低,画的时候窗口拖都拖不动。

效果图:


代码部分:

代码
-- --------------------------
--
 点和线实现正弦曲线
--
 wxLua支持

-- Aurhor Chuwp
--
 Date 2010.10.30
--
 --------------------------




require("wx")

local nMotionFlag = 0

-- -------------
--
 主函数
--
 -------------
function main()
    frame 
= wx.wxFrame( wx.NULL, wx.wxID_ANY, "wxLua Scribble",
                        wx.wxDefaultPosition, wx.wxSize(
450450),
                        wx.wxDEFAULT_FRAME_STYLE )

    
if nMotionFlag == 0 then
        frame:Connect(wx.wxEVT_LEFT_DOWN, OnLClick)
    
end

    frame:Show(
true)
end


-- ----------------------
--
 左键点击开始画曲线
--
 ----------------------
function OnLClick(event)
    nMotionFlag 
= 1
    
local drawDC = wx.wxClientDC(frame)
    pen 
= wx.wxPen(wx.wxColour(02550), 1, wx.wxSOLID)
    drawDC:SetPen(pen)

    
--坐标轴X
    for i=50300 do
        
--drawDC:DrawLine(1, 1, 100, 100)
        if math.mod(i,2== 0 then
            drawDC:DrawPoint(
50, i)
        
end
    
end

    
--坐标轴Y
    for j=30400 do
        
if math.mod(j,2== 0 then
            drawDC:DrawPoint(j, 
175)

            
if math.mod(j,20== 0 then
                
for k = 06 do
                    drawDC:DrawPoint(j, 
175-k)
                
end
            
end
        
end
    
end

    
--正弦曲线
    local nTempX = 50
    
local nTempY = 175

    pen 
= wx.wxPen(wx.wxColour(25500), 1, wx.wxSOLID)
    drawDC:SetPen(pen)
    
for i=50400 do
        delay()
        
local nRec = i/12
        drawDC:DrawLine(nTempX, nTempY, i, 
175+50*math.sin(nRec))
        nTempX 
= i
        nTempY 
= 175+50*math.sin(nRec)
    
end

    drawDC:SetPen(wx.wxNullPen)
end

-- ----------------
--
 延迟处理
--
 ----------------
function delay()
    
local x = os.clock()
    
while os.clock()-<= 0.01 do end
end

main()
wx.wxGetApp():MainLoop()

 

转载于:https://www.cnblogs.com/chuwp/archive/2010/10/30/1864911.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
罗技鼠标宏- 压枪lua脚本发布时间:2022-07-22
下一篇:
不要在Lua中使用os.clock()函数发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap