Recently, I develop a called as 'Graphics Engine' or 'Render System'. So I need to hide the coordinate conversion logic so that when end user uses this tool, they can 'drawing' like in World Coordinates System.
for example, a coordinates system that is mapping a linear,
double based coordinate system to the relevant page coordinates system.
Use "Page2World(PointF)" and "World2Page(PointF)" convert
points or rectangles between world and page scales.
The "MinimumWorldPrecision" indicates current minimum precision
in world scale. The minimum precision is the value (in world scale) which one pixel in screen
can be represented. For example, if one pixel equals 1 world scale when coordinates is 100% scales and the "MinimumWorldPrecision" is 1; then one pixel can represent 0.5 world scale
while coordinates is 200% scales and the "MinimumWorldPrecision" is 0.5.
Use "GetCeilingWorldPoint" and "GetFloorWorldPoint" get the ceiling and
floor point (in world scale) which can be presented exactly in pixel.
another coordinates system that is mapping a physical coordinates system
to the relevant world coordinates system.
Use Page2Working(PointF) and Working2Page(PointF) convert
points or rectangles between working and page scales.
Use Working2World(PointF) and World2Working(PointF) convert
points or rectangles between working and world scales.
So, how can I to implement this Coordinate System in C#4.0