Actually, circles, lines and points are all the same
primitive - half-spaces of the plane: lines have zero curvature, points zero
radius, and circles have finite radius and finite curvature. An ellipse is a
circle after linear transformation.
A triangle is the
intersection of three linear halfspaces.
BTW, point is not
obviously a primitive, in the sense there are several different flavours of
point - a 2D point is not the same as a 3D point, and a point in homogeneous
co-ordinates is not quite the same as one in Cartesian co-ordinates. This is
before you get to the more esoteric end of things, such a duality theory and
geometry over algebraic systems other than the real numbers. I believe there is
also a more generalised concept of a point called a
not sure I can think of any more concrete example of the claim that an ontology
is viewpoint specific
*** WARNING ***
This message has originated outside your organisation,
either from an external partner or the Global Internet.
Keep this in mind if you answer this message.
On 2/2/10 11:43 AM, "Matthew West" <dr.matthew.west@xxxxxxxxx>
> I hope that it will not actually be
necessary to try to precisely
> the borderline between
primitive and non-primitive.
A concept is primitive if it cannot be
completely defined in terms of
concepts you already have
OO programming languages are structured this way. If there is any way to
build such a concept with another class, then refactoring is often
Take drawing primitives as an example. There is one base
primitive which might be ?coordinate?. This corresponds to a specific X,Y
pair. This is abstract so at this point it ignores all pixel resolutions
etc but could generally taken to be based on a pixel grid.
The next level
down would be some primitive shapes. Candidates might be Line, Circle,
Ellipse, Rectangle, Square etc. On closer examination, circle can be
stated to be a specialized type of ellipse (one with a constant radius value)
and a square can be declared as a specialized type of rectangle (one with equal
side lengths within a fixed unit of precision, usually the pixel resolution when
implemented). Line might also be a candidate for rectangle (a rectangle
with height:width ratio exceeding certain limits) but lines could also carry the
added property of an arc or path. Therefore the true primitives might be
coordinate (or point), line, ellipse and rectangle. This represents a
context of pixelated screens however. In vector graphics (SVG et al) the
primitives may be different.
A triangle then presents a test. Is it
another primitive of is it a specialized type of one of the existing graphic
primitives. One could create another primitive called ?fill? that takes
parameters of a ?boundary? expressed in terms of lines. This could then
make up all other shapes such as polygon, triangle, star,
Adobe LiveCycle Enterprise Architecture - http://www.adobe.com/products/livecycle/
TV Show - http://tv.adobe.com/show/duanes-world/
Blog ? http://technoracle.blogspot.com/
My Band ? http://22ndcenturyofficial.com/
Twitter ? http://twitter.com/duanechaos