2025年3月19日水曜日

アメリカで fx-CG100 が Coming soon になっているとの話

 以下の X ポストによりますと、アメリカで fx-CG100 が Coming soon になっているとの事です。

ref. https://x.com/sekara_kurabu/status/1899817712702071008

ここからたどると、アメリカ・CASIO Education のページには、グラフ電卓の一覧が出ております。

ref. Graphing Calculators - casioeducation.com
https://www.casioeducation.com/graphing-calculators

上記ページには、 

  • fx-CG500 PRIZM CAS
  • fx-CG100 Classwiz CG
  • fx-CG50 PRIZM
  • fx-9750GIII Grapher

が一覧され、星取表ならぬ比較表が出ており、参考になります。
 

  • fx-CG100 ClassWiz
    ストレージ 4.5 MB, 170時間稼働
  •  fx-CG50 PRIZM
    ストレージ 16 MB, 140時間稼働

といった事も出ております。

一応、今のブランディングという事では

  • PRIZM 
  • Classwiz
  • Grapher

と考えていいのでしょうか。

そう考えると、fx-CG50 (PRIZM) と fx-CG100 (Classwiz CG) とで、spec 上の差異など「比較の対象」に当たらない、とも言えそうです。
昔は、型番が上がると、そのラインの後継製品という具合でしたから、型番をみる事で、製品の世代を推し量る目安になったのですが、
今後は「製品の持続的開発」という具合で、頻繁に新製品を繰り出すよりも、製品ライン・ブランディングを確立した上で、ブランディングのIncremental な発展をしていくのか、という見方が出来るのかも知れません。

一方で、CASIO education アメリカでは、プログラマブルな製品ラインナップはグラフ関数電卓に限られる様子。

ref. Scientific Calculators - casioeducation.com
https://www.casioeducation.com/scientific-calculators

フツーの関数電卓は非プログラマブルですね。

怠け者の当方としては「プログラム機能が欲しいなァ」などとヘタレな事を言いますが、
計算式が頭の中に入っている、あるいは、目的とする計算式をしっかりと把握している場合には、関数電卓にプログラム機能は不要ではありましょう。その意味では、関数電卓は「プロツール」ではあります。

この動向を見ていると、日本で奇跡的に販売が継続されている fx-5800P、現在の所、唯一の非グラフ電卓プログラマブルな製品ですが、今後は新製品としての需要が見込めず、という判断もあるのかも知れず。
昔の様に「大量開発、大量販売」と行かない今日の状況を鑑みるに、「製品の持続的開発」となると、製品ラインを整理し、細く、長く改良を進めつつ販売を行う、という方針なのでしょう。

電子機器製品が、以前の様に売れなくなった背景には、IT社会/スマートフォンの普及という側面が大きく影響しているのでしょう。
多くの人口が取り込まれるIT社会のprimary I/Fがスマートフォンとなり、他のディジタル機器、PCやDigital gadgetは、スマートフォンの次、より専門的な分野で利用される所となり、以前の様な繁栄は難しいのではないか、と。

サミシイなァ。



2025年3月18日火曜日

「艶笑ネタ」

 随分前に見かけた、X の post。

https://x.com/mrpanda88888888/status/1874452024420671516

昨今は、理工系の女性割合が増えているそうで、こうしたネタは「セクハラ案件」となりそうではありますが、上記 post に「Ok , 数学之美」としている事を苦し紛れの理由として、紹介。
「非原创」は「オリジナルに非ず」という意味らしく、数式を吟味すれば、言うことも「ごもっとも」であります。

で、fx-CG50 の 3D graph に慎重に入力してやれば、件の画像を得る所ではありますが、x-y面が垂直にならないと、上記と同様にはならないので注意が要ります。

ご参考までに、[V-WIN] で設定する、描図範囲の指定を示しておきます。

Xmin:-10
Xmax:10
grid:50
Ymin:-10
Ymax:10
grid:50
Zmin:-2
Zmax:2

※ くれぐれも、をんなの子の前でやらない様に !

2025年3月17日月曜日

森林火災のシミュレーション

 岩手県 大船渡市の林野火災は、大分延焼を抑えつつあるそうで、鎮火宣言まではあと一息との事。
避難されておられる方々には、お見舞い申し上げます次第です。 

少々不謹慎ながらも、Python Extra for fx-CG50 で、森林火災のシミュレーションをやってみました。
大船渡市の林野火災が、ここまで大規模になる前から着手していたのですが、鎮火宣言が近い様子なので、公開したく思います。

森林火災のシミュレーションは、森林を縦横のセルに分割し、各セルは、以下の状態を表現します。

  • flat ; 平地
  • tree ; 樹木がある
  • fire ; 火災延焼中
  • burn ; 鎮火 (火災後、燃え尽き)

セル平面には、適当な割合を指定して、樹木を置くか、平地にするかを設定します。

ここでは、0.7の割合で、樹木を置いております。

rate=0.7
その後、何処か適当なセルを指定して、そこに火を置きます。
そうしたら、シミュレーション開始です。

シミュレーションは、つぎの手続きで進行します。

すべてのセルについて調査

  1. 上下左右のいずれかに火災のセルがある
    → 調査中のセルに樹木がある場合、延焼として、火災セルに置き換える
  2. 調査中セルが火災延焼中
    → 火災後に、樹木が燃え尽きたとして、鎮火セルに置き換える

重要なのは、Life Gameと同様、すべてのセルの状態更新は同時に行う、という点です。
そのため、セル平面は、ゲーム進行の前後で、2つ用意しておきます。

シミュレーションの処理としては、上記の処理を延々と繰り返すのですが、この過程で、火災セルが無くなったら、終了とできます。

この手続きを書き出したのが、以下のスクリプトです。

#

from gint import *
import random

size=8
wi=int(396/size)
he=int(224/size)
col=[C_RGB(31,31,31),C_RGB(0,31,0),C_RGB(31,0,0),C_RGB(0,0,0)]

flat = 0
tree = 1
fire = 2
burn = 3

grid_0=[[flat for j in range(he)] for i in range(wi)]
grid_1=[[flat for j in range(he)] for i in range(wi)]

rate=0.7

#  is fire near here ?
def firep(x,y):
  c=0
  for k in range(4):
    i=x+[0,1,0,-1][k]
    j=y+[-1,0,1,0][k]
    if (i!=x or j!=y)and i>=0 and j>=0 and i<wi and j<he:
if grid_0[i][j]==fire:
c+=1
return c

# evolve
def evl():
for j in range(he):
for i in range(wi):
c=firep(i,j)
if grid_0[i][j]==fire:
grid_1[i][j]=burn
elif grid_0[i][j]==tree and c>0:
grid_1[i][j]=fire
else:
grid_1[i][j]=grid_0[i][j]
# copy grid def cpy(): for j in range(he): for i in range(wi): grid_0[i][j]=grid_1[i][j] # show field def show(): fire_sum = 0 for j in range(he): for i in range(wi): fire_sum += 1 if grid_0[i][j] == fire else 0 drect(i*size,j*size,(i+1)*size-1,(j+1)*size-1,col[grid_0[i][j]]) dupdate() return True if fire_sum > 0 else False # field gen for j in range(he): for i in range(wi): if rate>random.random(): grid_0[i][j]=tree # ignition i=random.randrange(wi) j=random.randrange(he) grid_0[i][j]=fire # show field flg = True while flg: flg = show() evl() cpy() getkey()

 
セル平面をリストによって実現しているので、残念ながら「劇的に早い」というものでもありません。
画像の状態を読み出せるので、うまく利用すれば、速度の改善につながる変更も出来るかも知れませんが、まだ、着手しておりません。

樹木を配置する割合を 0.7 にしていますが、これが 0.8, 0.9 と上がると、ほとんどのセルが火災に見舞われ、焦土と化します。
そこで、0.3, 0.4 と小さい値にすると、火災の延焼は食い止められるのですが、植樹して樹木を育てる、その収量も減ってしまい、寂しい事になってしまいます。

この辺り、色々と替えて、実行してみてください。