2006-12-05-16-32 Start
Here explain buttons and boxes shown
above.
This program auto adjust drawing board
x,y range. Sometime no need such function,
for example rotate a triangle. If want to
fix range, fill number in
lower x upper x lower y upper y
for range lower/upper limits. If one box
missing data, then auto range begin.
This program allow to draw just one point.
Not convenient, but Freeman did not put
time for this multiple point drawing. To
draw one point, please click one of
Draw a dot? no incenter circumcenter orthocenter centroid
or vertexA vertexB vertexC XY
If choose [XY] please fill number in
Displacement/Rotation x[ ] y[ ]
If want to see altitude foot of side aa
goto output box 2 find (example)
vertex (1, -2) altitude foot: (-0.6,1.2)
fill -0.6,1.2 to x[ ] y[ ] then click
[Draw Tri angle] button.
This program provide parallel displacement
and rotation function let you adjust
triangle location easily.
Before parallel displacement, fill
number in
Displacement/Rotation x[ ] y[ ]
first, two numbers.
Before rotation, fill number in
Displacement/Rotation x[ ] y[ ] for [ ] deg.
first, three numbers.
x[ ] y[ ] is rotation center x,y
coordinates.
for [ ] deg. is rotation angle in degree
(NOT rad.)
If x[ ] y[ ] has number, then this point
is rotation center. If number is incomplete,
then program look at
no incenter circumcenter orthocenter centroid
vertex A vertex B vertex C XY
Use the selected one as rotation center.
For example, if [orthocenter] is selected,
then use orthocenter as rotation center.
If select [no], then use (0,0) as rotation
center.
If select [XY], program insist to fill
number in x[ ] y[ ] as rotation center.
When x[ ] y[ ] is incomplete, the drawn
point is rotation center.
When x[ ] y[ ] is complete, the drawn
point is not necessary the rotation center.
vertexA x,y
vertexB x,y
vertexC x,y
are triangle three vertex coordinates.
Ex.1 and Ex.2 are two examples.
Ex.1 auto set values for
lower x upper x lower y upper y
rotate in a fixed range drawing board.
Ex.2 not set value for fix range, if rotate
Ex.2 you will see drawing board change
range often.
[2Side] button is a main feature. When you
know triangle three side length. Please
fill x,y coordinates in
vertexB x,y
vertexC x,y
They determine one side of triangle.
Please also fill number in
vertexA x,y
Fill in other two side length
NOT third point x,y coordinate value !
Assume fill in the following data
vertexA x,y 2 4
vertexB x,y 1 -2
vertexC x,y -1 1
click [2Side] button, program interpret
as
from point (1 -2) to point (-1 1) form
one side.
vertex (1 -2) opposite side length is 2
vertex (-1 1) opposite side length is 4
draw triangle and circles.
other three similar but different cases are
vertexA x,y 4 2
vertexB x,y 1 -2
vertexC x,y -1 1 click [2Side] button
vertexA x,y -4 2
vertexB x,y 1 -2
vertexC x,y -1 1 click [2Side] button
vertexA x,y -2 4
vertexB x,y 1 -2
vertexC x,y -1 1 click [2Side] button
Triangle side length is negative value?
Impossible !! But !
this program use negative side length to
draw triangle at opposite direction
(mirror) of given side.
Similarly, [2Angl] button allow user input
two angles in degree to draw triangle.
User must fill in a given side two end
points coordinates and in
vertexA x,y
two side angles in degree,
NOT fill in third point x,y coordinate
value.
[bakS] and [bakA] and [Shift] buttons are
debug tool during programming. They can be
used for design triangle too.
Add [2Side] button and [2Angl] button that
is for convenient. But if careless, these
button may cause trouble.
Before click [2Side] button vertexA x,y
has two length value
After click [2Side] button vertexA x,y
has one point x,y coordinate value.
length is not x,y coordinate!
If click [2Side] button twice, result
must be wrong! Because second time click
[2Side] button vertexA x,y has x,y
coordinate value, not length value. Freeman
wrote code to stop continue click [2Side]
button. But during programming need check
four possibilities. Removed stop-code.
After done, did not put stop-code back.
Because user may also want to test four
possibilities. When you use [2Side] button
please be careful.
Button and input boxes are compact placed
then it is possible to pull drawing close
to control buttons.
Again, Freeman program no one proofread,
Output may have error result. Please
check each time you use this program.
Freeman 2006-12-05
2006-12-05-17-45 stop
2006-12-05-18-35
When click [2Side] button, there is one line
look like the following
side bb length 2.0000, vertex C angle 86.024, aa Angle To X axis -260.31; aaSlope 3.5541/(-0.60688)
In which -0.60688 mark red.
Because slope is yDifference/xDifference
Slope angle is arctan(yDifference/xDifference)
arctan() principle value is in quadrant 1 and 4
which correspond to xDifference > 0.
When xDifference<0, arctan() send back
principle value in quadrant 1 and 4
BUT !!
When xDifference<0, the correct answer is in
quadrant 2 and 3 ! Must +/- 180 degree.
-0.60688 mark red indicate already corrected.
2006-12-05-18-43
Corrrection can be found at source code key
string [9512041928] and [9512051156]
2006-12-07-20-29
|