我一直想尝试FDX 演示,但是由于兼容性问题,它给了我一系列错误和警告,所以我一直在努力让它正常工作。完整的代码在pastebin上。
我在这里的代码有问题:
let drawSurf f (device:Device) =
let m,n = meshDims !mesh in
let data = Array.init (n*m) (fun k ->
let i,j = k2ij !mesh k in
let x,y = meshGet !mesh (i,j) in
let z = f (x,y) in // single precision f
(x,y,z))
in
let strips = triangleRows n m |> map (map (blendPlace !mesh data)) in
List.iter (fun strip -> drawTriangeStrip strip device) strips;
let m,n = meshDims !mesh in
let lines = gridLines n m in
let lines = lines |> map (colorPlace !mesh data Color.Black) in
drawLineList lines device
这在 F# 交互中给了我以下错误。
motion-sample.fs(438,53):错误 FS0001:类型不匹配。期望一个
((('a * 'b) 列表 -> 'c) * (('a * 'b) 列表 -> 'd)) 参考
,但给定一个
(float [,] * float [,]) 参考。
类型 '('a * 'b) list -> 'c' 与类型 'float [,]' 不匹配
谢谢你的帮助!