清北的同事能算出来结果是 √85/2,这里用 golang 画了一个图体验一下数学之美。
package main
import (
"github.com/fogleman/gg"
"math"
)
var r = math.Sqrt(85) * 10 / 2
func main() {
recBasex, recBasey := 65.0, 110.0
dc := gg.NewContext(200, 200)
dc.NewSubPath()
dc.DrawRectangle(recBasex+0, recBasey+0, 20, 20)
dc.DrawRectangle(recBasex+20, recBasey-20, 20, 20)
dc.DrawRectangle(recBasex+40, recBasey-40, 20, 20)
dc.DrawRectangle(recBasex+60, recBasey-20, 20, 20)
dc.SetHexColor("#84afe1")
dc.Fill()
dc.NewSubPath()
dc.DrawCircle(100, 100, r)
dc.SetHexColor("#000000")
dc.Stroke()
dc.SavePNG("out.png")
}
这里均放大 10 倍,否则图形太小
out.png
网友评论