C.a.R. > Documentation > Tools and Objects
Introduction
Overview of Objects in the Construction
Fixed Objects
Dependencies and Order of Objects
Points
Points on Objects
Lines, Line Segments and Rays
Circles, Circles from 3 Points, Fixed Circles
Intersections
Parallels, Perpendicular Lines
Midpoint between two Points
Angles, Fixed Angles
Arithmetic Expressions
Filled Polygons
Text Objects
Functions and parametric Curves
Conic Sections
Images
Automatic Tracks
Move Tool
Tracks, Automatic Tracks, Polar Sets
Animation Tool
Macro Definition and Macro Usage
Hide Tool
Delete last Object, Delete any Object
Edit Tool
Set Comment and Assignment
Catch Background Picture
Replay Tool
Paint Tool
Zoom Tool
Current Color
Default for Show Name
Default for obtuse Angles
Default for Transparency
Show specific Color only
Show hidden Objects
Grid and Coordinate System
On this page, we describe the various tools and options of C.a.R. Moreover, you can find a description of all construction objects here.
If the mouse remains over an icon for a while, you will see a short description.
Also, have a look at the status line to see which steps
are expected by the tool. Moreover, you can press the
"i" help tool to get more information about a
selected tool.
The icon bar can be edited. Note, that some tools are hidden by default, since they can easily be replaced by other tools.
You may also want to try the special mode for beginners. This mode reduces the icon bar and turns off preview options to facilitate a more concentrated work.
The following properties are common to all objects.
The object displays its name in the construction, unless it has an alias. The description is generated automatically, but can be changed by the user. After it has been changed, the program will no longer update the description. Use an empty description to switch back to the automatic update. Units are decorations for the output only. Once you set a unit for a specific object type, this unit will be used by default.
The following are other properties an object can have.
These properties are set for new objects using default values, but can be changed in the properties dialog of the object. The properties dialog can be opened by clicking on the object with the right mouse button, or with the edit tool. An example for a properties dialog is here.
Note that names must be unique. If you need objects with the same name, include a ~ in the name. Names are only displayed up to this ~. Alternatively, use an alias. The name and the value of an object can both be displayed at the same time, yielding "s = 4". If the name ends with "_", the equality sign will not be generated. Units are displayed after the value.
Objects can have an alias. This is useful if the object contains Latex code. Read more about LaTeX code and expressions in the section about text objects.
Breakpoints are used in the replay mode and the breakpoint animation.
See the replay tool for more information.
Properties of objects can depend on conditions. To get the dialog for conditional properties right click the object with the ctrl-key pressed. Each property in this dialog can have a condition. It will be enabled, when the condition evaluates to true (different from 0). E.g., a point could become red inside a certain region. This is a mighty feature for expert use.
There is a special condition called z-value. This value determines the drawing sequence of objects. Objects with a z-value will be painted after the background objects, highest z-value first. This may be useful for some special purposes.
Points can be fixed in their position, segments in their length, circles and angles in their size. To fix an object, one can use any expression. Of course, a simple example of an expression is a number.
If you want to create an object of fixed size or position, you can either create it and then call the settings dialog to fix it, or you can hold down the shift-key while creating the object. For fixed circles and angles, you should use the special tools for fixed objects, since they create different types of circles and angles.
Objects are stored in a row, and they do often depend on other objects. The chain of objects determines, which object is drawn first. To push an object to an earlier place, use the menu item "Push objects to the Background". The object cannot be moved before any other object it depends on.
Note, that C.a.R. may reorder your objects automatically to assure that objects depend only on earlier objects. This will happen if you create a dependency to an object defined later. The most simple example is to bind a point to a segment that was created after the point. Other examples are end point of arcs, or expressions in fixed objects, referring to later objects. This applies also to conditional formatting. Keeping the objects in proper order is essential for easy update of objects and for creating macros.
The program needs to make sure that there are no cyclic dependencies. Otherwise, the objects can no longer be ordered properly. However, it is possible to use forward references with the @-notation as described in the syntax for expressions. These references do not count for dependencies. Nor does a reference of an object to itself count. Also, an arc will not depend on its endpoints, and an intersection will not depend on the points it is kept away from. These references are handled like @-references. Using this feature, the intersection of two circles can be chosen continuously as explained below in the paragraph about intersections.
Objects referring to themselves are sometimes useful. An example is a condition for the appearance of the object depending on its position. A special case are fixed points that fix to positions depending on the point itself. An example would be a point that is fixed to integer coordinates "floor(x(this))" and "floor(y(this))". Those fixed points are moveable nevertheless. As a rule, all points referring only to itself are moveable. Each movement of such a point moves the point first respecting its fixes, than updated the rest of the construction.
Some tools require the display of objects in the order the user constructed them. This is the case for the animation tool and for the replay tool. The construction cannot be changed, while these tools are active.
Normally, objects are
drawn in the internal sequence. But filled polygons and other objects, can be drawn before the rest of the objects, if the background state is enabled in the settings dialog.
A point can be generated by various tools. The point tool
will normally generate a free (moveable) point.
However, if an intersection is clicked, an intersection is created after an
optional
confirmation (see the advanced settings). Intersection points are not free, but depend on the two intersected objects of course. If a line is
clicked, a point on that line is generated. To make sure, which point type is
generated in each case, there is a preview of the result when the mouse moves
over the construction.
Free points can be fixed. Open the properties of the point by clicking the point
with the righ tmouse button. Holding down the shift-key is a shortcut to open
the properties dialog immediately after the point is generated. In the dialog, enter the coordinates to fix the
point.
Like some other objects, free points can be dragged immediately after generation.
During the drag, the size and name will display, unless this option is turned
off.
The dialog for points is explained on a separate page.
This is a point, which is bound to a line or a circle, to a curve, a function, a conic section or an automatic track. It will move with the bound in a continuous way. A point can be released, and bound to a new object at any time using its properties dialog.
Points can be bound to lines and circles in two ways. Either the point is projected every time the object moves, or the point is kept in its relative position on the point. The second option is applied by holding the shift-key while the object is selected. Moreover, the relative fix can be removed or set in the properties dialog.
Bound points are not free. So segments with bound endpoints cannot be fixed (use a fixed circle instead). As an exception, if a segment lies with both endpoints on a line, and one of them is a bounded point (to the line), the segment can be fixed (see above about fixed objects).
These objects depend on two points. So the user has to select or create two points. The differences between lines, segments and rays are more than the visual appearance. Intersections and perpendicular lines behave differently for these objects. E.g., intersections with segments become invalid, if the intersection point is not on the segment (this can be switched off however for each intersection). Perpendicular lines to segments will be invalid, if the intersection with the line is not on the segment. For perpendicular lines, it is possible to switch this behavior off.
Note that the perpendicular line tool, the fixed angle tool, or the parallel tool generate lines too.
The length of a segment may be fixed, if it has one free endpoint. To generate such a segment, hold the shift-key while selecting the second point, or use the special icon. It is probably preferable to use fixed circles instead.
Here is the settings dialog for lines.
The difference between the first two tools is that the first constructs circles with a center and a radius point, while the second can create circles with another center. Thus the second tool will expect three points, two points A, B forming the radius AB, and a center M. This tool can be replaced by fixed circles with the expression d(A,B) for the radius.
The first kind of circles can be fixed in size, if the radius point is moveable. However, it is better to use a circle with fixed size instead.
The fixed circles are the third kind of circles. To generate such a circle, hold the shift-key when defining the radius point, or use the special tool. This will not create or select a point, but open the settings dialog, where you can enter any expression for the radius. If the circle is dragged immediately after the generation, the settings dialog will not open, but the current size will be used. Of course, the radius can be fixed later in the properties dialog.
Drawing a circle can be restricted between two defining points. In this case, it is possible to keep the arc between 0 and 180 degrees (i.e., always the shortest arc will be drawn).
Fixed circles can be sized to the distance of two given points, the size of another circle, or a segment. To do this use the button "Set Size ..." in the settings dialog. Note that only previously constructed points can be used.
Circles can be filled. Moreover, they can be partially visible to improve the clarity of the construction-
Here you find the settings dialog for circles.
This tool generates intersections between lines, circles, curves functions, conic sections or automatic tracks. In paper constructions, this might not be thought of as an extra step to do. But the computer cannot compute all possible intersections. Also creating intersections makes the necessary steps much clearer. As a shortcut, intersections are created, whenever the program expects a point, and the user clicks close to an intersection. In this case, the intersected objects will be enhanced, if the preview option is enabled.
The intersection tool is hidden by default, since the point tool can be used instead in most cases. It is available in the menu nevertheless.
Note that circles intersect in two points. The program creates both intersections only if the two circles are selected as parameters one after the other, and only with the intersection tool. For automatically created intersections using the point tool, the other intersection will not be generated.
Furthermore, note that segments or rays intersect only in their interior. Segments are no lines. This can be switched off in the properties dialog of the intersection.
There is a subtle problem with the way the program orders the two intersects of circles (or a circle and a line). This is done in a predictable way. Consequently, for circles, the order will change, if the circles are switched. The intersections between a line and a circle depend on the direction of the line (i.e. the order of its creating points).
For special purposes, it is possible to tell an intersection with a circle to switch every time it becomes invalid. This way, all states of a construction can be seen using the simple move tool. The switch to enable this is in the properties dialog of the point. Note, that the automatic track tool always switch the intersections, if they become invalid. Moreover, the direction of movement is reversed.
Sometimes the intersection point must be specified. This can be done by telling the intersection points to be different from a certain other point. The intersection point will then be chosen such that it is furthest away from the point. Alternatively, it is possible to choose the intersection closest to some point. The dialog for intersections contains a special input line to specify the point, or it is possible to choose that point on the construction. This type of intersection is created automatically, if the other intersection point is a point on the perimeter of both circles, and if this point is visible. The program then assumes that the user means to create a the new intersection point, different from the one already present.
The intersection of two circles switches, if the radius of one them goes to infinity and back to finite range, the midpoint approaching from the other side. To avoid this, set the intersection to be close to itself. Enter the name of the intersection itself into the field in the dialog.
These are simply shortcuts for classical constructions. The tools create lines. The user has to select a line and a point. Note that by default perpendicular lines become invalid if the intersection lies outside the segment or ray.
Another shortcut. It creates the point exactly in the middle between two other points.
This tool can be used to move points, as an alternative to using the right mouse button. It can also drag fixed circles and angles. The only difference to the right mouse button is that points will not snap on grid points if the grid is visible (However, this behavior can be switched the other way around). Moreover, the shortcut will always select one of the points in a cluster, while the move tool asks the user, which point should be moved. The selected point will highlight and can then be moved with the left mouse button.
These important tools draw tracks of points. Alternatively, they generate a curve, which has a set of lines as its tangents (a polar set).
The simple track tool works like this: The user moves one point, a slider or another moveable object, and the track of another point or the polar set of a moving line is drawn. Thus the tool needs a point to be tracked, then any other point can be moved with the left mouse button. More than one track point can be selected, yielding more than one track, using the shift key for all but the last point.
The automatic track moves the point along a given object automatically. Thus it expects the point or line to be tracked, the object (circle, segment, line) and the point to be moved. If instead of the object a point on an object is selected, this point will be moved on the object. Moreover, a slider can be used to generate the track. This track is re-computed, if any other points is moved with the right mouse button, showing the dependency of the track to parameters. The track is animated, until the user clicks somewhere into the construction. More than one line or point to be tracked can be chosen. However, the first object controls the track generation.
In this example, P is bound to a circle around the leftmost point. The automatic track moves P on this circle, and draws the track of the rightmost point, which has a fixed distance to P.
Automatic tracks try to run through all states of the construction avoiding invalid states. If the first tracked point or line becomes invalid, the moving point will turn, and invalid intersections will be switched.
The animation speed can be increased or decreased with the shift-key and the right or left cursor key.
Tracks are saved to the construction file. If the track is animated it will be saved this way. When the construction is loaded the (animated) track will be displayed. Tracks are normally no construction objects, however. They are saved in the construction header. The track is deleted, when another tool is selected, or the track tool is re-selected.
Tracks in constructions have an own properties dialog. They can be filled too.
Automatic tracks can be added to the construction as normal objects using the menu item "Keep Track" or pressing shift-return. This way, it is possible to create several independent automatic tracks in one construction. Note, that the tracks will slow down the construction considerably! It is possible to intersect these objects and to fix points to them, yielding very powerful constructions.
Tracks in the construction can be fixed to save time. Then they will only be updated, if their properties editor is opened.
This tool will animate a single point, walking along segments or circles. To start the animation, select a point, then a sequence of segments or circles. Finish by reselecting the point or any of the objects. To stop the animation, click on the construction. Shift-clicking will cause the animation to run back and forth on lines, instead of repeating the same path. On circles, shift-clicking will revert the animation.
Animations are saved to the construction file. In applets the animation will prevent user interaction completely.
Normal Angles are decoration only and cannot be used to construct anything. The order of input is A, B, C (see the picture). Note that orientation does not matter, since angles are restricted below 180° by default. If this restriction is switched off in the properties, orientation does matter.
The second kind of angles have no point C, but a fixed size. This kind of angles behaves more like a ray through A and C. It is generated by holding down the shift-key, while clicking for C, or with the special tool. This will not generate or select a point, but open the settings dialog, where the user can enter any expression for the size of the angle. If the angle is dragged immediately, the settings dialog will not open.
Angles can be displayed in different sizes. The largest size will display a part of a circle, which starts in A.
Angles can have Greek letters in their name. To achieve an alpha, enter \a. Angles, which are 90° or have a name starting with "." will be labeled with a dot, if either the name or the size display is switched on. Angles may be filled.
Angles can be prevented to become a reflex angle. In this case, the value will be between 0° and 180°. This is the default. Other angles observe the order of the points A and C.
Fixed angles can be sized by three given points, or by another angle, or any other expression in an easy interactive way. To do this, select the button "set size ..." in the settings dialog an select three points A, B, C, or another angle. The correct expression for the angle will automatically be inserted.
Fixed angles can be inverted. Thus one does not have to use positive orientation. Furthermore, if a fixed angle is restricted to 180° by default, and if such an angle is constructed in a mathematical negative way, it will be inverted. There is an icon in the settings dialog, which controls the inversion.
One can display values of arithmetic expressions in the construction.
The expression can have an additional text, which
explains it and
may or may not display its value.
The syntax of expressions are explained on-line and here.
This fills the area between defined corners with a color. The fill should be set to light. In Java 1.3, it will be transparent. To define the area, select the corners. The definition is completed by re-selecting any of the previously selected corners.
Note, that areas can
be drawn in the background as other objects. By default, they are.
This displays a multi-line text in the construction. You can edit the text in an internal editor. This editor contains a button to reach the normal object editor. You can fix the position of the text using arithmetic expressions there. Note, that invalid positions make the text invisible, which may be useful sometimes.
Text lines can be formatted. To make a line fat or large or both precede it with *, **, or ***. A line can consist of Latex code. Start and end it with $ in this case. Moreover, a line can contain expressions, enclosed in %. Expressions are evaluated and the result is displayed in the expression. If the expression is of the form %~name%, the equation of the object will be displayed, if it is of the form %=name%, its name. The latter is useful in macros, when the object name can change. An expression of the form %+...% forces a sign in front of the evaluated number.
Hidden texts does appear in replay mode. This allows local comments of constructions steps disappearing later.
This generates functions or curves. A variable runs in an interval with given step size. The interval name is "x" by default, but can be any string.
Simple functions have an empty X-value and an expression with the variable as Y-value. They will be drawn into the construction window. Invalid points are skipped.
Curves have expression both in the X-value and the Y-value. Usually, the variable is named "t" in this case.
Functions may be used in other expressions. In this case, the Y-value is evaluated. Probably, one wants to hide the function completely for this purpose. To edit the function, use the construction description.
Functions can intersect with other objects and can have gliding points on them, just like lines or circles. Functions can even intersect with automatic tracks.
Functions can be filled. For parametric curves, the fill center may be chosen. Open the properties dialog and exit with "Select Center".
Function can be reduced to points. If those functions are filled, a Riemann step function is plotted, taking the left interval bounds, or the right ones, if the bounds are reversed.
Conic sections are sets of points equations formed by linear combinations of x^2, y^2, x, y, xy and 1 (quadratic functions in two variables) become zero. Conics are determined by 5 points. You simply need to select the 5 points.
To edit the properties of the curve, click on it and use the normal dialog. Conics will display the defining formula as their value. Currently, nothing can be constructed using these objects, but they are useful nevertheless.
If you just need a specific conic section type like an ellipse, it is probably better to use a parametric curve.
This is explained here.
This will hide objects. To make a hidden object visible, the option to show all hidden objects must be enabled. Hiding objects can also be
achieved by holding the ctrl-key and clicking on the object. In this case, circles and lines go to the partial
state and hide only on the second click.
If the shift-key is held, when an object is selected for hiding, the object will be completely hidden. In this case, one can make the object visible again with the construction description only, using the object properties.
There is a special feature that is sometimes useful. When this tool is selected with the ctrl-key all duplicate objects are hidden. So, if a segment is drawn on the same segment, only the first segment will be visible.
This tool deletes the most recent objects, and all hidden objects before it. Undo restores all these objects at once. The other tool deletes any object and all objects depending on it. Undo only restores one of these operations.
These are default values for new objects. Of course, all these properties can be set for existing objects in their properties dialog.
Some less common default values. Names are generated automatically using an object count for each object type and a prefix letter or a prefix string (long names).
Another default setting. If this button is enabled, new angles can become reflex angels, else they will be between 0° and 180°. It is probably better to use restricted angles only. These angles do not have an orientation, which makes them easier to handle.
Filled objects are transparent in Java 1.3. With this button, new objects will not become transparent.
Edits the properties of one more objects. To select several objects, hold the shift-key until the last object. The edit dialog for more than one objects has fields in a special unknown state. Only the changed fields will be used to update the objects.
If the edit tool is selected with the Ctrl-key, the most recent object will edited immediately.
One can use this tool to format an object with conditions. Select the object with the Ctrl-key then. In the dialog, enter conditions for colors, thickness etc. This can be used to create special effects in constructions under certain conditions. It can also be used to create 3D-constructions with changing colors for polygons depending on the side that is visible. One can set the properties for more than one object. The current object is referred to with "this".
Toggle selective display of objects with certain colors. Black objects are always displayed.
Toggles the display of hidden objects. Completely hidden objects can only be accessed through the construction description.
Toggles the display of the grid. If the grid is on, new points and points moved by the right mouse button snap to grid points. Note that the grid can be reduced to the axis only. The tool toggles through the three states.
If the grid is on while the construction is saved, it will be switched on, when the construction is loaded.
Show the comment, or, with the shift-key, the assignment text.
This switch fixes the current construction as a background picture, or releases the current background picture. It is possible to load background pictures from files.
This tool opens a small dialog with navigation buttons containing buttons for fast rewind etc.
Additionally, breakpoints can be set with this tool.
Breakpoints are important for HTML export in replay
style and for the breakpoint animation. Pressing the shift key generates a
hiding break point. Such a break point will hide the construction in front of it
until the previous break point or the start of the construction. Breakpoints can
be toggled in the object dialog as well.
Breakpoints
can be animated with this tool. While breakpoints are animated,
pressing the shift key plus left or right changed the animation speed.
Animations are saved with the construction.
You can paint with the mouse in the current color using this icon. To delete the painting, press escape or use the menu entry. The drawing will be saved. However, the construction file gets a lot bigger with paintings.
This tool zooms the view, or moves it in each direction, depending on the position of the mouse. Dragging the inner part moves, and the outer part zooms. It is also possible to zoom with the mouse wheel, and to drag with the right mouse button, starting in some empty space.
Images can be added to the construction, either scaled and rotated with two anchor points or transformed with three anchor points using an affine transformation. To load properly, images must be in the same directory as the construction.
C.a.R. > Documentation > Tools and Objects