Я давно хотел попробовать FDX demo , однако он дал мне серию ошибок и предупреждений из-за проблем совместимости, поэтому я пытался заставить его работать правильно.
Полный код находится на 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)) ref
но учитывая
(float [,] * float [,]) ref.
Список типов '(' a * 'b) ->' c 'не соответствует типу' float [,] '
Спасибо за любую помощь!