如何结合rot旋转函数与toTree绘图函数绘制36辐条圆形图案?
作业需求:使用rot函数与toTree绘制36条辐条图案
作业说明
使用给定的rot旋转函数与toTree绘图基元函数编写程序,调用render绘制36条辐条的图案。
给定的旋转函数代码
type vec = float * float let rot (v1: vec) (k: float)= ((cos(k) * fst v1))+((snd v1 * (-sin(k)))), (fst v1 * sin(k) + (snd v1 * cos(k))) let (v1:vec) = (3,10) let (k:float) = 3.2 let result = rot v1 k printfn "%A roteres så den bliver %A" v1 result
我的绘图代码(基于DIKU Canvas库)
#r "nuget:DIKU.Canvas, 2.0" open Canvas open Color type vec = float*float let w,h = 400, 400 let toTree (c: color) (v10: vec) : PrimitiveTree = piecewiseAffine c 2 [(0.0, 0.0); (fst v10, snd v10)] let tree = toTree gold (20.0, 20.0) let draw = make tree render "Vector" w h draw
遇到的问题
- 不知道如何将
rot旋转函数与toTree绘图函数结合,查阅资料和课程内容无果。 - 不清楚需要构建哪些坐标列表来生成36条辐条的图案。
内容的提问来源于stack exchange,提问作者Flems
相关产品推荐
相关产品推荐

