[linux-l] Logarithmische Skalen konstruieren - welches Programm?

Robert C. Helling R.Helling at damtp.cam.ac.uk
Do Sep 2 14:47:43 CEST 2004


On Thu, 2 Sep 2004, Christoph Lange wrote:

> 
> Liebe Linuxer!
> 
> Zum Selbstbau eines Rechenschiebers (aus Karton) suche ich ein
> Programm, mit dem ich _einfach_ Lineale mit logarithmischer Gradierung
> konstruieren kann.
> 
> Geht natürlich direkt mit Postscript. Hat aber eine zu steile
> Lernkurve, falls es ein Programm geben sollte, das das kann.
> 
> qcad soll in einer nächsten Version eine Scripting-Möglichkeit haben,
> in etwa so etwas brauche ich wohl.

Wie waer's mit TeX? Evtl noch mit etwas Perlnachhilfe? Ich hab mal was 
zusammengehauen, was drei Dekaden ergibt:

        O /                   \ O
-------  X   ----cut here----  X  --------
        O \                   / O
#!/usr/bin/perl

print '\def\n#1{\hbox to 0cm{\hss #1\hss}}
\def\vspan{\vbox to 5mm{\vss}}  % 5mm ist die Hoehe der Ticks
\vbox{';

# Als erstes die Ziffern
print '\hbox{\n 1';
for (1..3){
    for $i(2..10){
	print "\\hskip ",log(($i)/($i-1))*2.5,"cm\\n {",$i,"}"; 
    }
}
print '}';

# Dann Abstand und die Ticks 
print '\vskip 3mm\hbox{\n{\vspan\vrule}';
for (1..3){
    for $i(2..10){
	print "\\hskip ",log(($i)/($i-1))*2.5,"cm\\n{\\vspan\\vrule}";
    }
}

print '}';

# Und Linie und Schluss 
print '\hrule
}
\bye';
        O /                   \ O
-------  X   ----cut here----  X  --------
        O \                   / O

Das speicherst Du als ruler.pl ab und machst dann

perl ruler.pl>ruler.tex
pdftex ruler.tex
acroread ruler.pdf

Du kannst auch natuerlich die Reihenfolge der Bloecke variieren, fuer nen 
Rechenschieber willst Du vermutlich einmal dies und einmal das umgekehrte, 
die for(1..3) Schleifen stehen fuer die Zahl der Dekaden und 2.5 nach dem 
log fuer die Breite, die das ganze haben soll.

Gruesse
Robert

 -- 
.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oO
Robert C. Helling     Department of Applied Mathematics and Theoretical Physics
                      University of Cambridge
print "Just another   Phone: +44/1223/766870
    stupid .sig\n";   http://www.aei-potsdam.mpg.de/~helling



Mehr Informationen über die Mailingliste linux-l