Difference between revisions of "User:Lenny222"

From HaskellWiki
Jump to navigation Jump to search
(focusing on real world technolgies for the moment)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
  +
[http://www.cardus.com/sticky.php?year=7 ]
== Things i think need improvement ==
 
 
* [[Diagrams]]
 
* [[GHC/Error messages|GHC error messages]]
 
* [[Cookbook|Haskell Cookbook]]
 
* [[User:Lenny222/Haskell explained to the busy|Haskell explained to the busy]]
 
* [[Mac OS X]]
 
 
=== Chlor ===
 
 
* [http://chlor.svn.sourceforge.net/viewvc/chlor/trunk/haskell/Chlor/ Haskell SVN]
 
* [http://chlor.svn.sourceforge.net/viewvc/chlor/trunk/src/core/ Objective-C SVN]
 
 
* [http://lib2geom.svn.sourceforge.net/viewvc/lib2geom/lib2geom/trunk/ lib2geom]
 
 
* http://pyx.sourceforge.net/examples/drawing2/parallel.html
 
** http://pyx.svn.sourceforge.net/viewvc/pyx/trunk/pyx/pyx/
 
 
 
==== Todo ====
 
 
* Primitive
 
** Ellipse => PrimitiveEllipse etc
 
 
* Primitive
 
** EllipticalArcTo center xAxisRotation largeArcFlag sweepFlag p1
 
 
* Box
 
** defaultBox
 
** use function "elem" infix style
 
 
* delete Layout/*
 
 
* Box
 
** splitHorizontal :: Int -> Double -> Box -> [Box] -- ^ number of boxes, space
 
 
<haskell>
 
subBoxWidth = (width - (n - 1) * subBoxMargin) / n
 
subBoxes = map (\i -> left + i * (subBoxWidth + subBoxMargin)) [0..n-1]
 
</haskell>
 
 
* Box
 
** splitVertical :: Int -> Double -> Box -> [Box] -- ^ number of boxes, space
 
 
 
* Primitive
 
** primitiveToPaths (Polygon points) =
 
** primitiveToPaths (Polyline points) =
 
 
 
* Shapes
 
** RegularPolygon: Line => Polygon
 
** Star: Line => Polygon
 
 
 
* Color
 
** Color = RGB Double Double Double | CMYK
 
*** rgbColorRange1 :: Double -> Double -> Double -> Color
 
*** rgbColorRange255 :: Int -> Int -> Int -> Color
 
** RGBA or Paint alpha?
 
 
* Path
 
** ArcTo: http://chlor.svn.sourceforge.net/viewvc/chlor/trunk/src/core/CPath.m?revision=561&view=markup
 
*** http://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes
 
*** http://lib2geom.svn.sourceforge.net/viewvc/lib2geom/lib2geom/trunk/src/2geom/elliptical-arc.h
 
*** http://lib2geom.svn.sourceforge.net/viewvc/lib2geom/lib2geom/trunk/src/2geom/elliptical-arc.cpp
 
*** http://www.faqts.com/knowledge_base/view.phtml/aid/4313
 
*** http://www.elbeno.com/blog/?p=469
 
 
* Diagram
 
** Histogram http://had.co.nz/ggplot2/geom_histogram.html
 
** Pie (only for displaying fractions)
 
** Stairs http://had.co.nz/ggplot2/geom_step.html
 
 
* Path http://www.tsplines.com/resources/class_notes/Bezier_curves.pdf
 
** degreeEvalation
 
 
* Datatypes
 
** Unit
 
*** defaultUnit
 
<haskell>
 
data Unit =
 
UnitCM
 
| UnitEM
 
| UnitEX
 
| UnitIN
 
| UnitMM
 
| UnitPC
 
| UnitPT
 
| UnitPX
 
| UnitPercent
 
deriving(Eq, Show)
 
</haskell>
 
 
* Datatypes
 
** <haskell>data Length = Length Unit Double deriving(Eq, Show)</haskell>
 
 
* AffineTransformation
 
** aply directly or accumulate in list of trafos?
 
** on the level of Object or Primitive?
 
 
* Shape
 
** http://www.jroller.com/aalmiray/entry/jsilhouette_0_3_released
 
*** http://code.google.com/p/jsilhouette/
 
** Spiral
 
** http://local.wasp.uwa.edu.au/~pbourke/geometry/supershape/
 
 
* SVG export
 
** SvgPath
 
*** <pre><path d="M 100 100 L 300 100 L 200 300 z" fill="red" stroke="blue" stroke-width="3" /></pre>
 
** SvgRectangle
 
***<pre><rect x="400" y="100" width="400" height="200" fill="yellow" stroke="navy" stroke-width="10" />
 
</pre>
 
 
* ObjectLike: DList instead of List?
 
 
* SVG XML generation
 
** HStringTemplate?
 
** HXT?
 
** HaXml?
 
 
* [http://hackage.haskell.org/package/colour colour]
 
 
* Layout
 
** Instances
 
*** Column
 
*** Grid (cols, rows, margins)
 
*** Margin/Frame
 
**** content size (absolute, relative, remaining)
 
**** margin sizes (absolute, relative, remaining)
 
 
* repeatedly
 
** use HLint
 
** use ghc -W
 
 
* AffineTransformation
 
 
* Path
 
** approximate :: Double -> [(Double, Double)] -> [Segment] -- ^ error, points
 
*** http://tog.acm.org/resources/GraphicsGems/gems/FitCurves.c
 
 
==== Ideas ====
 
 
* layout
 
** Table
 
** SpaceHorizontal
 
** SpaceVertical
 
 
* 3d projection
 
** [http://en.wikipedia.org/wiki/3D_projection 3d projection]
 
* diagrams
 
** histograms, density plots
 
* export
 
** SVG
 
** PDF
 
** Illustrator JavaScript
 
** Processing
 
** SWF
 
** TikZ/LaTeX
 
* import
 
** SVG
 
** PDF
 
* path operations
 
** boolean operations
 
** offset path
 
** http://inkscape.svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/live_effects/
 
* recursive programming
 
** [http://www.typeer.de/thema/Context-Free-Art---Simple-Schoenheit/ ContextFree]
 
 
=== Simplified Haskell homepage ===
 
 
[[User:Lenny222/Haskell|A simplified Haskell frontpage]]
 
 
Why?
 
 
* to [http://www.useit.com/alertbox/ia-mistakes.html add a structure]
 
* to [http://www.useit.com/alertbox/20020609.html reduce redundancy]
 
* to make scanning easier:
 
** [http://www.useit.com/alertbox/whyscanning.html why scanning]
 
** [http://www.useit.com/alertbox/nanocontent.html first two words]
 

Latest revision as of 07:01, 21 June 2010