Lattices: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
Line 2: Line 2:
brd = JXG.JSXGraph.initBoard('box1', {originX: 250, originY: 250, unitX: 50, unitY: 50, axis:true});
brd = JXG.JSXGraph.initBoard('box1', {originX: 250, originY: 250, unitX: 50, unitY: 50, axis:true});
brd.suspendUpdate();
brd.suspendUpdate();
var b1 = brd.createElement('point', [1,0], {style:6,name:''});
var b1 = brd.create('point', [1,0], {style:6,name:'', color:'blue'});
var b2 = brd.createElement('point', [0,1], {style:6,name:''});
var b2 = brd.create('point', [0,1], {style:6,name:'', color:'blue'});
var i, j;
var i, j;
for (i=-5;i<6;i++) for (j=-5;j<6;j++) {
for (i=-5;i<6;i++) for (j=-5;j<6;j++) {
   if (!(i==1&&j==0) && !(i==0&&j==1)) {
   if (!(i==1&&j==0) && !(i==0&&j==1)) {
   brd.createElement('point',[
   brd.create('point',[
       function(x,y){ return function(){ return x*b1.X()+y*b2.X(); };}(i,j),
       function(x,y){ return function(){ return x*b1.X()+y*b2.X(); };}(i,j),
       function(x,y){ return function(){ return x*b1.Y()+y*b2.Y(); };}(i,j)
       function(x,y){ return function(){ return x*b1.Y()+y*b2.Y(); };}(i,j)
Line 18: Line 18:
brd2 = JXG.JSXGraph.initBoard('box2', {originX: 250, originY: 250, unitX: 50, unitY: 50, axis:true});
brd2 = JXG.JSXGraph.initBoard('box2', {originX: 250, originY: 250, unitX: 50, unitY: 50, axis:true});
brd2.suspendUpdate();
brd2.suspendUpdate();
var b3 = brd2.createElement('point', [1,0], {style:6,name:''});
var b3 = brd2.create('point', [1,0], {style:6,name:'', color:'blue'});
var b4 = brd2.createElement('point', [0,1], {style:6,name:''});
var b4 = brd2.create('point', [0,1], {style:6,name:'', color:'blue'});
var p = [];
var p = [];
for (i=-5;i<6;i++) for (j=-5;j<6;j++) {
for (i=-5;i<6;i++) for (j=-5;j<6;j++) {
   if (!(i==1&&j==0) && !(i==0&&j==1)) {
   if (!(i==1&&j==0) && !(i==0&&j==1)) {
   p[i*11+j] = brd2.createElement('point',[
   p[i*11+j] = brd2.create('point',[
       function(x,y){ return function(){ return x*b3.X()+y*b4.X(); };}(i,j),
       function(x,y){ return function(){ return x*b3.X()+y*b4.X(); };}(i,j),
       function(x,y){ return function(){ return x*b3.Y()+y*b4.Y(); };}(i,j)
       function(x,y){ return function(){ return x*b3.Y()+y*b4.Y(); };}(i,j)
Line 37: Line 37:
brd = JXG.JSXGraph.initBoard('box1', {originX: 250, originY: 250, unitX: 50, unitY: 50, axis:true});
brd = JXG.JSXGraph.initBoard('box1', {originX: 250, originY: 250, unitX: 50, unitY: 50, axis:true});
brd.suspendUpdate();
brd.suspendUpdate();
var b1 = brd.createElement('point', [1,0], {style:6,name:''});
var b1 = brd.create('point', [1,0], {style:6,name:'', color:'blue'});
var b2 = brd.createElement('point', [0,1], {style:6,name:''});
var b2 = brd.create('point', [0,1], {style:6,name:'', color:'blue'});
var i, j;
var i, j;
for (i=-5;i<6;i++) for (j=-5;j<6;j++) {
for (i=-5;i<6;i++) for (j=-5;j<6;j++) {
   if (!(i==1&&j==0) && !(i==0&&j==1)) {
   if (!(i==1&&j==0) && !(i==0&&j==1)) {
   brd.createElement('point',[
   brd.create('point',[
       function(x,y){ return function(){ return x*b1.X()+y*b2.X(); };}(i,j),
       function(x,y){ return function(){ return x*b1.X()+y*b2.X(); };}(i,j),
       function(x,y){ return function(){ return x*b1.Y()+y*b2.Y(); };}(i,j)
       function(x,y){ return function(){ return x*b1.Y()+y*b2.Y(); };}(i,j)
Line 56: Line 56:
brd2 = JXG.JSXGraph.initBoard('box2', {originX: 250, originY: 250, unitX: 50, unitY: 50, axis:true});
brd2 = JXG.JSXGraph.initBoard('box2', {originX: 250, originY: 250, unitX: 50, unitY: 50, axis:true});
brd2.suspendUpdate();
brd2.suspendUpdate();
var b3 = brd2.createElement('point', [1,0], {style:6,name:''});
var b3 = brd2.create('point', [1,0], {style:6,name:'', color:'blue'});
var b4 = brd2.createElement('point', [0,1], {style:6,name:''});
var b4 = brd2.create('point', [0,1], {style:6,name:'', color:'blue'});
var p = [];
var p = [];
for (i=-5;i<6;i++) for (j=-5;j<6;j++) {
for (i=-5;i<6;i++) for (j=-5;j<6;j++) {
   if (!(i==1&&j==0) && !(i==0&&j==1)) {
   if (!(i==1&&j==0) && !(i==0&&j==1)) {
   p[i*11+j] = brd2.createElement('point',[
   p[i*11+j] = brd2.create('point',[
       function(x,y){ return function(){ return x*b3.X()+y*b4.X(); };}(i,j),
       function(x,y){ return function(){ return x*b3.X()+y*b4.X(); };}(i,j),
       function(x,y){ return function(){ return x*b3.Y()+y*b4.Y(); };}(i,j)
       function(x,y){ return function(){ return x*b3.Y()+y*b4.Y(); };}(i,j)

Revision as of 09:26, 25 March 2011

Sphere packing

JavaScript code for these examples

Lattice:

<jsxgraph height="500" width="500" board="board"  box="box1">
brd = JXG.JSXGraph.initBoard('box1', {originX: 250, originY: 250, unitX: 50, unitY: 50, axis:true});
brd.suspendUpdate();
var b1 = brd.create('point', [1,0], {style:6,name:'', color:'blue'});
var b2 = brd.create('point', [0,1], {style:6,name:'', color:'blue'});
var i, j;
for (i=-5;i<6;i++) for (j=-5;j<6;j++) {
  if (!(i==1&&j==0) && !(i==0&&j==1)) {
  brd.create('point',[
       function(x,y){ return function(){ return x*b1.X()+y*b2.X(); };}(i,j),
       function(x,y){ return function(){ return x*b1.Y()+y*b2.Y(); };}(i,j)
       ], {name:'',style:4});
}}
brd.unsuspendUpdate();
</jsxgraph>

Spheres:

<jsxgraph height="500" width="500" board="board"  box="box2">
brd2 = JXG.JSXGraph.initBoard('box2', {originX: 250, originY: 250, unitX: 50, unitY: 50, axis:true});
brd2.suspendUpdate();
var b3 = brd2.create('point', [1,0], {style:6,name:'', color:'blue'});
var b4 = brd2.create('point', [0,1], {style:6,name:'', color:'blue'});
var p = [];
for (i=-5;i<6;i++) for (j=-5;j<6;j++) {
  if (!(i==1&&j==0) && !(i==0&&j==1)) {
  p[i*11+j] = brd2.create('point',[
       function(x,y){ return function(){ return x*b3.X()+y*b4.X(); };}(i,j),
       function(x,y){ return function(){ return x*b3.Y()+y*b4.Y(); };}(i,j)
       ], {name:'',style:4});
  brd2.createElement('circle',[p[i*11+j],0.5]);
}}
brd2.unsuspendUpdate();
</jsxgraph>