首先,我想说英语不是我的母语,所以我会犯一些错误。 我制作了一个动画,以图形方式表示正弦波的制作方式,但是我不确定U应该如何实现绘制正弦波时所用点的矢量。
实际上,我在程序的开头创建了一个包含1000个点的向量,并且在每个下一步中,我都更新了下一个点的“ y”分量,以使其适合于“主点”的坐标在我的圈子中。 我曾想过要制作一个空向量,所以我可以在每个步骤后附加一个点,并在他离开屏幕时删除第一个点,但是我不确定。
(define dot%
(class object%
(init-field (n 0))
(define dot-size 3)
(define birth? #f)
(define y 0)
(define x 500)
(define/public (sety! new-y)
(set! y new-y)
(set! birth? #t))
(define/public (update-dot)
(if (equal? birth? #t) (set! x (+ x 1)) #f))
(define/public (draw-dot dc)
(send dc set-pen RED-PEN)
(send dc draw-ellipse x y dot-size dot-size))
(super-new)))
(define VDOTS
(build-vector nb-dots (lambda (i) (new dot% (n i)))))
以下是显示结果的图像: