|
D.2.4.14 locusto
Procedure from library grobcov.lib (see grobcov_lib).
- Usage:
- locusto(L);
The argument must be the output of locus or locusdg or
envelop or envelopdg.
It transforms the output into a string in standard form
readable in many languages (Geogebra).
- Return:
- The locus in string standard form
- Note:
- It can only be called after computing either
- locus(grobcov(F)) -> locusto( locus(grobcov(F)) )
- locusdg(locus(grobcov(F))) -> locusto( locusdg(locus(grobcov(F))) )
- envelop(F,C) -> locusto( envelop(F,C) )
-envelopdg(envelop(F,C)) -> locusto( envelopdg(envelop(F,C)) )
Example:
| LIB "grobcov.lib";
ring R=(0,x,y),(x1,y1),dp;
short=0;
ideal S=x1^2+y1^2-4,(y-2)*x1-x*y1+2*x,(x-x1)^2+(y-y1)^2-1;
locusto(locus(grobcov(S)));
==> [[[(x^4+2*x^2*y^2-9*x^2+y^4-9*y^2+4*y+12)],[[1]]],[Normal],1]],[[(x^2+y^2\
-4*y+3)],[[1]]],[[Special],[y1-2,x1]],1]]]
locusto(locusdg(locus(grobcov(S))));
==> [[[(x^4+2*x^2*y^2-9*x^2+y^4-9*y^2+4*y+12)],[[1]]],[Relevant],1]]]
kill R;
"********************************************";
==> ********************************************
// 1. Take a fixed line l: x1-y1=0 and consider
// the family F of a lines parallel to l passing through the mover point M
// 2. Consider a circle x1^2+x2^2-25, and a mover point M(x1,x2) on it.
// 3. Compute the envelop of the family of lines.
ring R=(0,x,y),(x1,y1),lp;
poly F=(y-y1)-(x-x1);
ideal C=x1^2+y1^2-25;
short=0;
// Curves Family F=
F;
==> x1-y1+(-x+y)
// Conditions C=
C;
==> C[1]=x1^2+y1^2-25
locusto(envelop(F,C));
==> [[[(x^2-2*x*y+y^2-50)],[[1]]],[[Special],[2*y1^2-25,x1+y1],[1]],1]]]
locusto(envelopdg(envelop(F,C)));
==> [[[(x^2-2*x*y+y^2-50)],[[1]]],[Relevant],1]]]
kill R;
"********************************************";
==> ********************************************
// Steiner Deltoid
// 1. Consider the circle x1^2+y1^2-1=0, and a mover point M(x1,y1) on it.
// 2. Consider the triangle A(0,1), B(-1,0), C(1,0).
// 3. Consider lines passing through M perpendicular to two sides of ABC triangle.
// 4. Obtain the envelop of the lines above.
ring R=(0,x,y),(x1,y1,x2,y2),lp;
ideal C=(x1)^2+(y1)^2-1,
x2+y2-1,
x2-y2-x1+y1;
matrix M[3][3]=x,y,1,x2,y2,1,x1,0,1;
poly F=det(M);
short=0;
// Curves Family F=
F;
==> -x1*y2+(y)*x1+(-y)*x2+(x)*y2
// Conditions C=
C;
==> C[1]=x1^2+y1^2-1
==> C[2]=x2+y2-1
==> C[3]=-x1+y1+x2-y2
locusto(envelop(F,C));
==> [[[(x^4+2*x^2*y^2+10*x^2*y-x^2+y^4-6*y^3+12*y^2-8*y)],[[1]]],[Normal],1]]\
,[[(x+y-1)],[[1]]],[[Special],[y2,x2-1,y1,x1-1],[0]],1]]]
locusto(envelopdg(envelop(F,C)));
==> [[[(x^4+2*x^2*y^2+10*x^2*y-x^2+y^4-6*y^3+12*y^2-8*y)],[[1]]],[Relevant],1\
]]]
|
|