グラフ計算機を作成して、グラフを「キャンバス」に正しく表示しようとしています。HTML ファイルを読み込んで x と書くと、たとえば、左上隅から始まり、右下隅に下がっていきます。問題は、グラフが上下逆さまに表示され、負の値が含まれていないことです。キャンバスは左上隅のピクセル値で (0,0) から始まり、右下隅の (300,300) で終わることがわかっています。このリンクから緑のキャンバスのようなものを表示したい: http://www.cse.chalmers.se/edu/course/TDA555/lab4.html
points :: Expr -> Double -> (Int,Int) -> [Point]
points exp scale (x, y) = [(x, realToPix (eval exp (pixToReal x))) | x<-[0..(fromIntegral canWidth)] ]
where
pixToReal :: Double -> Double --converts a pixel x-coordinate to a real x-coordinate
pixToReal x = x * 0.02
realToPix :: Double -> Double --converts a real y-coordinate to a pixel y-coordinate
realToPix y = y / 0.02