[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proposal for the geometric engine, RFC



 > > of this object and variant representation (ex: a line can be
 > > defined by two points, a point and a line (parallel or
 > > perpendicular) can be represented by this classes, ...
 > 
 > I don't know anything about the internals of Dr Genius, but why the
 > asymmetry in these two cases?  Mathematically, points and lines in
 > the plane have almost the same structure, so, for instance, a point
 > defined by the intersection of two lines is dual to a line defined
 > by two points, and a point on a curve is dual to a tangent to the
 > curve.  This is called projective duality.

Sorry, i don't know anything about that. I rather think point and line
are quite different with one a subset of the other.

 > Hmm.  I suppose it's a user interface reason.  It's easy to specify
 > a free point with the mouse, and harder to specify a free line.  I

Well, when you specify a free line you always specify two points even
if none is showed, at least one is internally constructed.
This is doable

 > would like to see this duality reflected more in the interface,
 > though, I think it should be doable.  If I want to draw an
 > arbitrary line through a point, I currently have to pick another
 > point arbitrarily and draw the line passing through the two points;
 > why should I have to specify the second point?
 
I will think about this feature.

> 
 > Here's another way of saying what I want: currently, points can
 > have 0 [intersection], 1 [on curve], or 2 [free] degrees of
 > freedom, while all curves/lines have 0 degrees of freedom.  Why not
 > have lines with 1 degree of freedom (such as: passing through a
 > given point; tangent to a given circle/geometric locus; parallel to
 > a given line)?  2 degrees of freedom would also be nice if there
 > were a good interface, but I can't think of one off the top of my
 > head.
 
In actual implementation, curves, in some situation, already have one
degree of freedom.

 > Another hard request for the geometric engine: can you add ideal
 > points at infinity?
Can you tell me more on this topic ?



  
 > When you get to working on the UI some more, it would be really
 > nice to be able to make construction lines that can be hid and
 > shown easily.  I don't know how to do this other than turning the
 > construction lines white.  A good UI for this is to use drawing
 > layers.
 
This is implemented already, set the line style to the dot one (the
first one in style dialog). Anyway the mechanism doesn't look very
clear, this will eb changed a bit.


 > > 3. Each geometric object depends on a coordinate referential, so
 > > 3. the
 > > object coordinate are relative to one referential. This allows
 > > teaching this topic. Technically this mean the geomtricObject
 > > contained a reference to a coordinate referential. There is a
 > > mechanism to change the referential attached to one obcjet
 > 
 > What is the base reference frame defined with respect to?  

Not sure to undersdand you. The default reference frame is the world
one.

 > When you change the reference frame of an object, does the object
 > move or not?

Both should be doeable. Basicly the object coordinate are relative to
one reference frame, so when we change the reference frame of an object we can :
 . keep the same relative coordinate, so the point will move on the screen 
 . recompute the relative coordinate, so the point will not move on the screen.


 > This feature would allow drawing three dimensional pictures very
 > easily, which would be quite nice.

Hum, this make me things that circle could be turned in ellipse when
going frrom an orthogonal reference frame to a non orthogonal
reference frame.

 
 > Another thing to think about when working on the geometric engine
 > is what varies when you move a constructed object.  It would be
 > nice to be able to pin down some of the objects so that they don't

I will take this on consideration.

 > There are several ideas here, some of them probably silly.  I'm
 > happy to explain them more and think about implementation more
 > seriously.

Go on, this is now or never :)

Hilaire