Мне нужны советы о том, как я должен реализовать вектор точек - PullRequest
0 голосов
/ 22 декабря 2018

Прежде всего, я хочу сказать, что английский не является моим родным языком, поэтому я сделаю несколько ошибок.Я сделал анимацию, чтобы получить графическое представление о том, как создается синусоида, но я не уверен, как 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)))))

Вот изображениечто показывает результат:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...