zoukankan      html  css  js  c++  java
  • 【SICP练习】79 练习2.51

            练习2.51

    通过书中前面的内容,我们知道below中来将框架分成上下两部分,而beside将框架分成左右两部分。因此,below定义如下:

    (define (below painter1 painter2)

      (let ((split-point (make-vect 0.0 0.5)))

         (let ((paint-top (transform-painter painter2

                                          split-point

                                          (make-vect 1.0 0.5)

                                          (make-vect 0.0 1.0)))

              (paint-down (transform-painterpainter1

                                            (make-vect 0.0 0.0)

                                            (make-vect 1.0 0.0)

                                            split-point)))

           (lambda (frame)

                (paint-top frame)

                (paint-down frame)))))

    另一种利用上一题中的rotate270等可以很容易的实现:

    (define (below painter1 painter2)

         (lambda (frame)

             ((flip-horiz

                  (rotate90

                      (beside

                          (rotate270

                             (flip-horizpainter1))

                          (rotate270

                             (flip-horizpainter2)))))

               frame)))

    版权声明:本文为 NoMasp柯于旺 原创文章,如需转载请联系本人。

  • 相关阅读:
    windows版本nginx帮助文档
    angular渲染超链接bug
    ionic踩过的一些坑
    ionic项目中使用自定义图标打包出现错误-broken import
    ionic项目中使用自定义图标
    ionic3运行时gradle下载失败的解决方法
    阿里云菜鸡上云实例
    如何用手机控制pc鼠标——Java开发与学习记实
    LeetCode刷题笔记---6月
    编译原理复习题
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786140.html
Copyright © 2011-2022 走看看