J
janosch13
Fortgeschrittenes Mitglied
- 8
Du kannst eigene zeichenwerkzeuge hinzufügen, die in Javascript geschrieben sind.
zB. Ein Koordinatensystem im ersten Quadranten , dass ohne axenbeschriftung ist und jede zweite rastereinheit einen skalenstrich setzt
EDIT: das Koordinatensystem ist nicht auf meinen Mist gewachsen. Das ist hier schonmal eher gepostet worden
zB. Ein Koordinatensystem im ersten Quadranten , dass ohne axenbeschriftung ist und jede zweite rastereinheit einen skalenstrich setzt
Code:
/*Berechnung der Kaestchengroese(step)*/
width = LN.getWidth();
scale = LN.getScale();
step = width / 150 + scale * width / 25;
/*Einstellungen*/
pfl=step/1.5; /* Pfeillänge*/
pfb=step/5; /* Pfeilbreite*/
strichl=step/6; /* HalbeStrichlaenge*/
/*Einlesen des Startpunks und Stoppunkts der Eingabe*/
x1 = LN.getX1();
y1 = LN.getY1();
x2 = LN.getX2();
y2 = LN.getY2();
/*Einrasten des Startpunkts und Stoppunkts*/
x1g = (step / 2) + Math.floor((x1 - (step / 2)) / step + 0.5) * step;
y1g = (step / 2) + Math.floor((y1 - (step / 2)) / step + 0.5) * step;
x2g = (step / 2) + Math.floor((x2 - (step / 2)) / step + 0.5) * step;
y2g = (step / 2) + Math.floor((y2 - (step / 2)) / step + 0.5) * step;
/* X und Y Koordinaten zuordnen damit in alle Richtungen gezeichet werden kann*/
xmin = Math.min(x1g, x2g);
ymin = Math.min(y1g, y2g);
xmax = Math.max(x1g, x2g);
ymax = Math.max(y1g, y2g);
/*Clipping-Fenster oeffnen in dem gearbeitet wird*/
clip=Math.max(pfb,strichl);
LN.setClip(xmin-clip, ymin, xmax, ymax+clip);
/*Berechnen der drei Eckpunkte des linken oberen Pfeils*/
pfeila1x=xmin-pfb;
pfeila1y=ymin+pfl;
pfeila2x=xmin+pfb;
pfeila2y=ymin+pfl;
pfeila3x=xmin;
pfeila3y=ymin;
/*Berechnen der drei Eckpunkte des rechten untern Pfeils*/
pfeilb1x=xmax-pfl;
pfeilb1y=ymax-pfb;
pfeilb2x=xmax-pfl;
pfeilb2y=ymax+pfb;
pfeilb3x=xmax;
pfeilb3y=ymax;
/*Zeichnen der Achsen und Pfeile*/
LN.drawLine (xmin, ymin+pfl, xmin, ymax+pfb);
LN.drawLine (xmin-pfb, ymax, xmax-pfl, ymax);
LN.drawFilledTriangle (pfeila1x, pfeila1y, pfeila2x, pfeila2y, pfeila3x, pfeila3y);
LN.drawFilledTriangle (pfeilb1x, pfeilb1y, pfeilb2x, pfeilb2y, pfeilb3x, pfeilb3y);
/*Zeichnen der Skalenstriche auf der Y-Achse*/
for (strichposy=ymax; strichposy > (ymin+pfl); strichposy=strichposy-2*step)
{
LN.drawLine(xmin-strichl, strichposy, xmin+strichl, strichposy);
}
/*Zeichnen der Skalenstriche auf der X-Achse*/
for (strichposx=xmin; strichposx < (xmax-pfl); strichposx=strichposx+2*step)
{
LN.drawLine(strichposx, ymax-strichl, strichposx, ymax+strichl);
}
EDIT: das Koordinatensystem ist nicht auf meinen Mist gewachsen. Das ist hier schonmal eher gepostet worden