框架 练习 2.46 2.47

来源:互联网 发布:mac投影分辨率设置 编辑:程序博客网 时间:2024/06/06 04:13
#lang racket;: 练习 2.46(define (make-vect x y)  (cons x y))(define (xcor-vect vect)  (car vect))(define (ycor-vect vect)  (cdr vect))(define (add-vect v1 v2)  (make-vect (+ (xcor-vect v1) (xcor-vect v2))             (+ (ycor-vect v1) (ycor-vect v2))))(define (sub-vect v1 v2)  (make-vect (- (xcor-vect v1) (xcor-vect v2))             (- (ycor-vect v1) (ycor-vect v2))))(define (scale-vect s vect)  (make-vect (* s (xcor-vect vect))             (* s (ycor-vect vect))));: 练习 2.47(define (make-frame origin edge1 edge2)  (list origin edge1 edge2))(define (origin-frame frame)  (car frame))(define (edge1-frame frame)  (cadr frame))(define (edge2-frame frame)  (caddr frame));: 框架(define (frame-coord-map frame)  (lambda (v)    (add-vect (origin-frame frame)              (add-vect (scale-vect (xcor-vect v)                                    (edge1-frame frame))                        (scale-vect (ycor-vect v)                                    (edge2-frame frame))))))
0 0
原创粉丝点击