source: CGBLisp/examples/pappus4.macsyma@ 1

Last change on this file since 1 was 1, checked in by Marek Rychlik, 15 years ago

First import of a version circa 1997.

File size: 1.2 KB
Line 
1if get('geometry2,'version)=false then load(geometry2);
2/* Pappus theorem;
39 points and 9 lines
4Points: a0, a1, a2, b0, b1, b2, c0, c1, c2
5line contains points
6l0 a0 b1 c0
7l1 a0 b2 c1
8l2 a1 b0 c0
9l3 a1 b2 c2
10l4 a2 b0 c1
11l5 a2 b1 c2
12l6 a0 a1 a2
13l7 b0 b1 b2
14l8 c0 c1 c2
15*/
16/* Specs */
17a00:a10:0; a20:1;
18a01:1; a11:0; a21:1;
19a12:0; a22:1; /* a02 # 0 */
20l06:0; l16:1; l26:0;
21
22for i:0 thru 2 do (
23 a[i]:[concat('a0,i),concat('a1,i),concat('a2,i)],
24 b[i]:[concat('b0,i),concat('b1,i),concat('b2,i)],
25 c[i]:[concat('c0,i),concat('c1,i),concat('c2,i)]
26);
27
28for i:0 thru 8 do
29 l[i]:[concat('l0,i),concat('l1,i),concat('l2,i)];
30
31rel(l,a,b,c):=[l.a,l.b,l.c];
32
33eqns:append(
34[1-v*collinear(c[0], c[1], c[2])],
35rel(l[0],a[0], b[1], c[0]),
36rel(l[1],a[0], b[2], c[1]),
37rel(l[2],a[1], b[0], c[0]),
38rel(l[3],a[1], b[2], c[2]),
39rel(l[4],a[2], b[0], c[1]),
40rel(l[5],a[2], b[1], c[2]),
41rel(l[6],a[0], a[1], a[2]),
42rel(l[7],b[0], b[1], b[2]));
43
44
45vars:append(makelist(l[j],j,0,7),
46 makelist([c[i]],i,0,2),[a[2],b[2]]);
47params:makelist([a[i],b[i]],i,0,1);
48vars:''vars;
49params:''params;
50vars:listofvars(vars);
51params:listofvars(params);
52cover:expand([[[],[]]]);
53eqns:expand(''eqns);
54cover:expand(''cover);
55stringout("pappus4.out",eqns,vars,params,cover);
Note: See TracBrowser for help on using the repository browser.