tips-sliderule
計算尺
https://ja.wikipedia.org/wiki/%E8%A8%88%E7%AE%97%E5%B0%BA
- https://www.sliderulemuseum.com/SR_Scales.htm
- https://staff.aist.go.jp/tominaga-daisuke/sliderule/rectilinear/index.html
- http://www.pi-sliderule.net/
- https://yoshi-g.com/sliderule027#27-5
| 名前 | 単位 | |
|---|---|---|
| D尺 | 標準(Log) | |
| C尺 | 標準(Log) | |
| A尺 | D尺の1/2目盛 | |
| B尺 | C尺の1/2目盛 | |
| K尺 | C尺の1/3目盛 | |
| CI尺 | C尺の逆目盛 | |
| DF尺 | C尺を10ずらす | |
| DF尺 | C尺をπずらす | |
| S/SI尺 | SIN | |
| T1/T2 | tan (6度から~84度まで) |
計算式
R : 幅(尺の長さ) # : スケール(目盛の値)
最初の列にはスケール名があります。 2番目の列は、そのスケールに使用される式です。 単純化は、読者の練習問題として残されています。 使用される規則では、 Rはルールの長さを示し、 #は位置が計算されているスケール上の数値を示します。 最後の列には、特定のスケールに関するメモが含まれています。
| Scale | Formula | Comments |
|---|---|---|
| A/B | (R/2)*log(#) | Used to calculate squares and square roots with the D scale. used to calculate the sine of an angle with the S scale on a Mannheim slide rule |
| C/D | R*log(#) | Used in multiplication and division. and also used with many other scales in various operations |
| CF/DF | (log# - logPI)*R if # less than R then add R | The folded scales used as a shortcut in multiplication and division |
| CI | abs[R*log(10/#)-R] | The inverse of the C scale. often used as a shortcut in division |
| CIF | abs[R*(log(1/#) - log(1/PI))] if #<(10/PI) abs[R*(log(1/#) - log(1/PI)) - 25] if #>(10/PI) | The inverse of the CF scale |
| K | (R/3)*log(#) | Used with the D scale to find the cube or cube root of a number |
| L | #*R | Used with the D scale to calculate the logarithm log10(#) of a number |
| LL0 | log(ln(#))*R + 3*R | Contains all numbers greater than or equal to 1.001 and less than or equal to 1.01; these scales (LL0-LL3) are used for logarithms. roots. and powers |
| LL1 | log(ln(#))*R + 2*R | Contains all numbers greater than or equal to 1.01 and less than or equal to 1.105 |
| LL2 | log(ln(#))*R + R | Contains all numbers greater than or equal to 1.105 and less than or equal to e |
| LL3 | log(ln(#))*R | This contains all numbers greater than or equal to e |
| LL/0 | log(ln(1/#))*R + 3*R | This contains all numbers greater than or equal to e-0.01 and less than or equal to e-0.001 |
| LL/1 | log(ln(1/#))*R + 2*R | This contains all numbers greater than or equal to e-0.1 and less than or equal to e-0.01 |
| LL/2 | log(ln(1/#))*R + R | This contains all numbers greater than or equal to e-1.0 and less than or equal to e-0.1 |
| LL/3 | log(ln(1/#))*R | This contains all numbers greater than or equal to e-10.0 and less than or equal to e-1.0 |
| R1 | log(#)*2*R | Used with the D scale to find squares and square roots; those numbers greater than about 3.13 are on the R2 scale |
| R2 | [log(#)*2*R] - 25 | Used with the D scale to find squares and square roots; those numbers greater than about 3.13 are on the R2 scale |
| Smannheim | (R/2)*[2 + log(sin(#))] | Used with the A scale to calculate the sine of a number. or the tangent of a number less than 5.7 degrees |
| S/T | [log(100*sin(#))]*R | Used with the C scale to calculate the sine or the tangent of a number less than 5.7 degrees |
| S | [log(10*sin(#))]*R | Used with the C scale to calculate the sine of a number greater than 5.7 degrees |
| T | R*log[10*tan(#) | Used with the D scale to calculate the tangent of angles greater than 5.7 degrees |
https://www.sliderulemuseum.com/SR_Scales.htm
http://www.pi-sliderule.net/sliderule/make/program/datafile.html
y=log(sin(x)) (0<x<π)
y=log(sin(x)) (0<x<π) y'=cos(x)/sin(x)=cot(x)=1/tan(x) x→+0でy→-∞ x→π-0でy→-∞ 0<x<π/2でy'>0なので単調増加 π/2<x<πでy'<0なので単調減少 x=π/2でy'=0で極大となる。 x=π/2で極大値(最大値)y=0 増減表(等幅フォントで表示させ見てください) x | 0 ……π/2 …… π y'|+∞ + 0 − -∞ y |-∞ ↑ 極大0 ↓ -∞ グラフを描く補助として 直線x=π/2に対してグラフが対称 漸近線x=0(y軸)、直線x=π x=π/6および5π/6でy=log(1/2)=-log2=-0.6931… x=π/4および3π/4でy=log(1/√2)=-(log2)/2=-0.3465… x=π/3および2π/3でy=log(√3/2)=log(3)/2-log(2)=-0.1438… の情報を使うと良いでしょう。
作り方
http://osinko.hatenablog.jp/entry/2018/02/15/230704
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 5 23:32:41 2021
@author: green
"""
import math
def header() :
print("\\documentclass{jsarticle} " )
print("\\usepackage[dvipdfmx]{graphicx}")
print("\\usepackage{tikz}")
print("\\usetikzlibrary{intersections,calc,arrows.meta}")
print("\\begin{document}")
print("\\begin{tikzpicture}")
print( "" )
def footer() :
print("\\end{tikzpicture}")
print("\\end{document}")
print("")
D=10.0
# C / D Rail
header()
for x in range(10,101):
x1 = (x/D)
x2 = math.log10( x1 ) * 10.0
# print ('\\draw (0,0) rectangle(','{:.4g}'.format(x2),',2);')
print ('\\draw (', '{:.4g}'.format(x2), ',0 ) -- (', '{:.4g}'.format(x2),',2);')
if ( (x % 5 ) == 0 ) :
print ('\\draw (', '{:.4g}'.format(x2), ',0 ) node {', x1, '} ;' )
footer()
Tips
https://www.sliderulemuseum.com/
Java_Script
http://www.pi-sliderule.net/program/sliderule/java/sliderule.html