`

蒙娜丽莎的微笑 Ruby实现

阅读更多

这个挺有意思:Ruby 的 UI 库向来不怎么样,所以这里用的 Gosu 这个2d游戏引擎(其实是包装了Gosu 的 Chingu),顺便加了点料。

[代码] mona_lisa.rb

01 #!/usr/bin/env ruby
02 require "chingu"
03  
04 include Gosu
05 include Chingu
06  
07 class MonaLisa < Chingu::Window
08   def initialize
09     super(600550false)
10     self.input = {:esc => :exit}
11     push_game_state(Paint)
12   end
13 end
14  
15 class Pix < Chingu::GameObject
16   traits :velocity
17   def initialize(options)
18     super(options)
19   end
20  
21   def drop
22     if rand(2) == 0
23       @velocity_x = rand(0..2)
24     else
25       @velocity_x = -rand(0..2)
26     end
27     @velocity_y = rand(0..3)
28     @acceleration_y 1
29   end
30  
31   def setup
32     @image = Image["rect.png"]
33   end
34 end
35  
36 class Paint < Chingu::GameState
37  
38   def initialize
39     @ground_y $window.height+20
40     super
41   end
42  
43   def setup
44     super
45     IO.readlines("media/ml").each do |line|
46       arr = line.chomp.split("x")
47       x = arr[0].to_i
48       y = arr[1].to_i
49       w = arr[2].to_i
50       h = arr[3].to_i
51       r = arr[4][0...2].to_i(16)
52       g = arr[4][2...4].to_i(16)
53       b = arr[4][4...6].to_i(16)
54

      pix = Pix.create(:x => x, :y => y, :width => w, :height=> h,

 :color => Color.argb(255, r, g, b))

55     end
56     self.input = { :space => :drop }
57   end
58  
59   def drop
60     Pix.each { |pix| pix.drop }
61   end
62  
63   def update
64     Pix.each do |p|
65       if p.y >= @ground_y
66         slower = p.velocity_y / 3
67         p.velocity_y = -(slower + rand(slower))
68         if rand(2) == 0
69           p.velocity_x = rand(0.4)
70           p.acceleration_x = -(rand(0.05))
71         else
72           p.velocity_x = -rand(0.4)
73           p.acceleration_x = (rand(0.05))
74         end
75       end
76     end
77     super
78   end
79 end
80  
81 MonaLisa.new.show
2
0
分享到:
评论

相关推荐

    纯代码实现蒙娜丽莎的微笑

    使用html实现的蒙娜丽莎的微笑,可以用来学习的例子。适用于各种热爱编程的人员参考。

    纯css蒙娜丽莎的微笑

    本项目“纯css蒙娜丽莎的微笑”是一个令人惊叹的实例,展示了CSS3的强大潜力,尤其是其盒阴影(box-shadow)属性的应用。这个作品完全通过CSS代码绘制了5000多个点,巧妙地组合成蒙娜丽莎那神秘的微笑,重现了文艺...

    七年级语文上:第18课《蒙娜丽莎微笑揭秘》同步练习(鄂教版).doc

    《蒙娜丽莎微笑揭秘》同步练习主要涵盖了语文学习中的字词注音、词语解释、文学常识、课文内容理解和分析等方面的知识点。这篇练习旨在帮助七年级学生深入理解课文《蒙娜丽莎微笑揭秘》,提升语文素养。 1. 字词...

    鄂教版七年级上语文:第18课《蒙娜丽莎微笑揭秘》同步练习精选.doc

    《蒙娜丽莎微笑揭秘》同步练习精选的内容涵盖了对著名画家达·芬奇名画《蒙娜丽莎》的理解和探讨。这篇语文练习主要涉及以下几个知识点: 1. 文化艺术:《蒙娜丽莎》是意大利艺术大师莱昂纳多·达·芬奇的代表作,...

    蒙娜丽莎的微笑作文.doc

    《蒙娜丽莎的微笑》不仅是一幅世界著名的画作,也是本文中探讨的主题。文章通过一部名为《蒙娜丽莎》的电影,引出20世纪50年代美国卫斯理女子学院的一场思想冲突。女教师凯瑟琳·沃森试图打破传统观念的束缚,鼓励...

    蒙娜丽莎的微笑PaintMonaLisaSmile.zip

    同时,为了实现蒙娜丽莎的微笑效果,他们可能运用了图像滤波技术,如高斯模糊,来创造柔和的过渡效果,以及边缘检测算法,如Canny算法,来描绘出画像的轮廓。 在开源项目“Paint Mona Lisa Smile”中,我们还能看到...

    《蒙娜丽莎》的神秘微笑之谜.ppt

    当人们直视蒙娜丽莎的嘴巴时,中央视觉可能无法捕捉到微笑的微妙变化,而当我们稍微偏离视线,利用外围视觉观察时,微笑在视觉边缘反而变得更加明显。因此,这种差异体验并非源于画中人物的表情变化,而是我们视觉...

    纯CSS3实现的蒙娜丽莎画像

    没错,今天我们要分享的就是这个使用纯CSS3,没有使用任何图片的蒙娜丽莎画像,实现原理是利用CSS3的阴影特性,逐层用不同的颜色渲染,从而形成这幅蒙娜丽莎巨作,当然有点模糊是肯定的,毕竟是通过投影渲染的,...

    (2020年秋季版)七年级道德与法治下册 第一单元 人与人之间 第三课 交往有艺术 精品阅读 蒙娜丽莎的微笑素材 教科版.doc

    《蒙娜丽莎》的微笑被描述为既宁静又神秘,能够随着观察者的情绪和心境变化而产生不同的解读,这是它艺术魅力的核心所在。 首先,艺术的魅力在于其主观性和多元性。人们对于《蒙娜丽莎》微笑的理解因人而异,反映出...

    蒙娜丽莎之约.doc

    特别地,关于蒙娜丽莎微笑的讨论引导学生通过品读、标记和想象,体验到画家如何巧妙地用笔触捕捉微笑的微妙之处,体会艺术作品中情感的传达。 教师强调想象在艺术欣赏中的重要性,指出想象力能够赋予静态的艺术作品...

    2018版高中语文第三单元感受艺术魅力7蒙娜丽莎的魅力课后作业鲁人版必修2

    这部分内容首先提到了“瑶公特”(即蒙娜丽莎)微笑的神秘性和捉摸不定,指出这种微笑与东方艺术的无穷和不定相契合,如中国诗画中的意境。接着,对比了达·芬奇与波提切利等艺术家的区别,强调达·芬奇在表现人物...

    蒙娜丽莎之约PPT学习教案.pptx

    此外,据法国巴黎卢浮宫的研究,蒙娜丽莎的微笑包含了高兴、厌恶、恐惧和愤怒等复杂情感的混合,这是通过现代技术——情感识别软件分析得出的结论,再次证实了这微笑的丰富性和多变性。这幅画作不仅是视觉艺术的杰作...

    浙江省温州市瓯海区实验八年级历史与社会下册《蒙娜丽莎的微笑、教皇奶牛的解放》教案 人教版.doc

    浙江省温州市瓯海区实验八年级历史与社会下册《蒙娜丽莎的微笑、教皇奶牛的解放》教案 人教版.doc

    27蒙娜丽莎之约PPT1(2).ppt

    通过对画作的详细分析和对蒙娜丽莎微笑的多重解读,文章不仅展现了达·芬奇的艺术才华,也揭示了艺术作品如何跨越时空,触动人的心灵。这篇文章的成功之处,在于它使读者在文字中感受到了艺术的力量,并且激发了人们...

    蒙娜丽莎-002918-深度:产品力、渠道及成本管控优异的瓷砖行业龙头.rar

    蒙娜丽莎集团作为瓷砖行业的领军企业,其在产品创新、市场拓展及成本控制方面的卓越表现,使其成为中国瓷砖行业中的佼佼者。本文将对蒙娜丽莎在这些关键领域的实践及其成效进行深度解析。 产品是企业竞争力的直接...

    蒙娜丽莎抠图软件

    在这样的背景下,“蒙娜丽莎抠图软件”的出现,无疑为图像处理领域带来了革命性的变革。 “蒙娜丽莎抠图软件”,正如其名,传承了达芬奇名画中对细节的精细描绘和对美的极致追求。这款软件利用了最前沿的人工智能...

    蒙娜丽莎:首次公开发行股票并上市招股说明书.PDF

    蒙娜丽莎:首次公开发行股票并上市招股说明书.PDF

    蒙娜丽莎-002918-B端C端均衡发展,产能优势持续加码.pdf

    2020年,蒙娜丽莎实现营业收入48.64亿元,年复合增长率(CAGR)为22.48%,归母净利润达到5.66亿元,CAGR为39.47%。2021年前三季度,公司营业收入和归母净利润分别同比增长47.69%和10.07%,显示出强劲的增长势头。 ...

    27蒙娜丽莎之约.pptx

    他的作品《蒙娜丽莎》以其神秘的微笑和独特的艺术风格成为了世界艺术殿堂中的瑰宝。 《蒙娜丽莎》的影响力深远,其微笑被誉为世界上最神秘的微笑,吸引了无数观众的目光。这幅画作的特点在于其淡雅的色彩、精细的...

Global site tag (gtag.js) - Google Analytics