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

Re: looking for drawing program to inscribe a square in a circle and label items



On Sat, Jan 20, 2018 at 6:10 AM,  <rhkramer@gmail.com> wrote:
> On Friday, January 19, 2018 10:50:11 PM Dan Hitt wrote:
>> So, something like xfig, except that it should have geometrically
>> describable grouping or linking options.  (You can glue objects
>> together with xfig, but afaik not link them loosely, like through a
>> point of tangency.)
>>
>> I.e., if i draw two primitives (like a square and a circle), then it
>> should be possible to demand that they stay tangent, or that the
>> corners of the square be on the cricle (inscription), and these
>> relations will continue to hold if one primitive or the other is
>> resized or scaled or moved (and the relations should be recorded as
>> some kind of constraints in the file format).
>>
>> Maybe some kind of svg editor is capable of doing this?
>
> (I'm not familiar with xfig, maybe it is somewhat like Visio / dia?)
>
> I don't know if dia is capable of all you want or not, but I mention it just
> because it is the Linux drawing tool that I am slightly familiar with, use
> (very rarely), and I think of as (a partial?) equivalent of Visio.  (I used to
> use Visio (Windows only, afaik) for quite a few things, since then I've had
> much less need for drawing things (or avoided drawing the things I should have
> ;-).
>
> Anyway, I am subscribed to a dia mail list and see some of the discussions
> about various problems.
>
> If I wanted to do what you described in Visio, I'd proceed something like this
> (forgetting some of the Visio terms for things)--for example, for the square
> inscribed in a circle:
>
> Create a "template" (mcow (my choice of words)) starting with a circle.
>
> Create connection points on the circle at 0, 90, 180, and 270 degrees.
>
> (That might be all I put in the template, or I might include line segments
> connecting the various points to make the square, diagonals, and so forth.  If
> I want to connect the midpoints of the square with other line segments, I'd
> include connection points at the midpoints of the lines in the template (which
> obviously means I'd include the lines making the square in the template).
>
> Then I would use the template to create an "instance" (again, MCOW) of that
> object which I could place anywhere on the drawing and resize as desired.
>
> For the square tangent to the circle, I'd do something similar, as a template,
> create a square, put a connection point at the midpoint of one of the sides,
> add a circle with a connection point, connect the circle to the square at the
> connection points.  Then create an instance of that template and place it on
> the drawing.
>
> (If the tangent point should be elsewhere on the side of the square, I'd put
> the connection point there--if it needs to vary the position, I'd have to
> understand how it should vary and think some more.)
>
> I'm fairly sure all of this could be done in Visio.  I'm not as sure about
> dia--a recent thread on the dia list talked about some difficulty connecting two
> lines together, but at least one workaround was suggested..
>

Thanks RH for these detailed instructions on how to do this with dia.
I think this might be a canonical linux solution.

Thanks also David and Curt for the suggestion to use geogebra.  This
is also interesting software, and has the appeal of maintaining some
structural information in visible text form (no doubt because of the
educational applications).

Thanks Joe for the reference to librecad, which provides yet another
way of putting circles in the plane.

And thanks Chris for the reference to inkscape, which i also tried out.

All four of these packages look good to me, and i was able to apt-get
all of them.  (The cabri thing also looks interesting, but i like to
work locally for anything that does not require remote data.)

dan


Reply to: