在球拍中画一个箭头

时间:2015-01-28 09:11:57

标签: scheme racket

如何在球拍框架中绘制箭头(DrRacket)?例如,在两个对象之间:圆形和矩形:

(send dc draw-ellipse 50 50 30 30) and (send dc draw-rectangle 200 200 30 6)

2 个答案:

答案 0 :(得分:2)

你可以使用picts来做这些事情。

首先,你定义你的图片。

(define pict-a (rectangle 40 40))

(define pict-b (circle 40))

然后你将它们组合起来,以便能够使用rc-find或lc-find,这些程序将帮助你连接这些图片。

(define combined (hc-append 200 pict-a pict-b))

最后

> (pin-arrows-line 30 combined
                   pict-a rc-find
                   pict-b lc-find
                   #:start-angle (/ pi 11)
                   #:end-angle (- (/ pi 11))
                   #:solid? #f)

会产生这个: Two picts connected

您可以在the docs!中找到更多信息。如果这样可以解决您的问题,请告诉我们!

答案 1 :(得分:1)

什么样的箭?

  • 对于简单箭头,请直接使用draw-line
  • 对于弯曲箭头,请使用draw-spline。 使用实心三角形作为简单的箭头。

如果你需要更漂亮的箭头形状, 一个选项是调整arrow shape中的MetaPict

您可以在MetaPict的文档中找到其他箭头示例。

示例non-straight arrow,显示如何使用MetaPict绘制状态机。