ボッチャ全力投球はケガに注意

「ボッチャは運動じゃない。」と妻によく言われます。しかし、甘く見るとケガをするスポーツです。準備運動をしっかりやり、練習内容も安全を考える必要があります。身をもって知りました。

初心者のころは軽い遊び?

日頃の運動不足解消も兼ね、ボッチャを嗜んでいました。

初心者の頃はコントロールが効かず、ボールにただ近づけることを目指す遊びでした。

ゆっくりなテンポで、優しくボールを転がす。

これでは運動不足の解消になっていないという妻の心配(?)があり、「ボッチャは運動じゃない。」と私に言ったのでしょう。

まあ、散歩していた方が、まだ体を動かしているので、否定もできません。

ヒット多用になるとスポーツ!?

スポーツの定義は人それぞれなのですが、個人的にボッチャでスポーツと胸を張って言えるのは、ヒットを多用するレベルからです。

周りも自分も、ボッチャ熟練度が上がっていくと、投球コースをふさがれ、ヒットで邪魔なボールをはじくことが多くなります。

柔らかいボールをはじくときはパワーが必要で、大きく早く振りかぶり、強くボールを転がします。

初心者のころの玉寄せゲームから一転し、激しい動作が入るスポーツになります。

全力投球はケガに注意

ボールを2個以上はじくヒット。戦況を大きく変えるスプラッシュ。

これらは全力でボールを転がします。

練習で強力なヒットを連投していたら、肩を痛めました。

何日か休めば治ると思いますが・・・準備運動せずに全力に近い投球を続けるとは、愚かです。

ボッチャはケガの危険性があるスポーツだと身をもって知れたのは良かったです。

肩を回す、筋を伸ばすなどの準備運動の大切さ。過剰な練習をしないといった計画性。これらがとても重要だと気づけました。

エクセルのグラフをHTMLでアニメーションさせる

エクセルのグラフをSVG書き出し、HTMLに埋め込みます。その際、グラフにアニメーションを付与してみましょう。重たいグラフ用のライブラリを使わず、軽量なコードに実現できます。

線グラフを描画するアニメーション

※確認用にGifアニメをループさせています。

今回は線グラフを左から描画するアニメーションを作りました。

SVGにidを指定

準備として、SVGファイルをコードで開き、アニメーションさせたいパーツにidを指定します。

線グラフの線<path>にid=”line1″を指定しました。

パーツを探すときは、stroke=”#4472C4″という色で検索すると、すぐに見つかります。

SVGをJavaScript(jQuery)で埋め込み

続いてidを追記したSVGを、HTMLに埋め込みます。

objectタグを使わず、直接SVGのコードをHTMLに書き込みます。

とはいえSVGのコードは長くてソースの可読性が悪くなります。外部ファイルとして、後から非同期でHTMLに書き込むようにしました。

HTML上にSVGのタグがあれば、直接JavaScriptやCSSで、任意のidを操作することが可能になります。

線を描画するCSSアニメーション

「線を描画するCSSアニメーション」は存在しませんが、破線をアニメーションさせることで、線を描画したように見えます。

stroke-dasharrayで破線の間隔を指定します。

線の長さ=破線の間隔にして、stroke-dashoffsetで破線の開始位置をずらすと、線を描画しているように見えます。

stroke-dasharray、stroke-dashoffsetで指定するpxは、chromeの開発者モードで調べると分かりやすいです。

stroke-dasharrayの値を変えて、ぎりぎり線がすべて描画される数字を使います。

HTML全体のコード

最後に今回のコードの全体です。

グラフをCSSでアニメーションさせるだけなら、SVGファイルをload()するだけで良いです。

もし、クリックイベントなどを仕込む場合は、load()の第2引数に処理を設定します。

HTMLのグラフ演出は重たい印象がありました。しかし、簡単なアニメーションなら、少ないコードで実現できるようです。

エクセルのSVGグラフにviewBox指定

エクセルのグラフをSVG書き出しした後、HTMLにobjectタグで埋め込む場合は、viewBox指定を推奨します。レスポンシブWebに対応できます。

widthとheightをviewBoxに変更

エクセルから書き出したSVGグラフのコードを見てみます。

デフォルトではsvgタグに「width=”1653″ height=”993″」と幅、高さが指定されています。

この指定があると、ブラウザの幅に応じて可変させるレスポンシブ対応は難しいです。

width、heightの代わりにviewBoxを設定します。

viewBoxの値は”x y 幅 高さ”となり、”0 0 1653 993″と指定しました。

レスポンシブWeb対応

書き換えたSVGをHTMLで表示してみます。

objectタグとしてSVGを組み込んだ場合でも、レスポンシブ対応できます。

imgタグではなく、objectタグを使うメリットは、グラフ上の文字列を選択でき、コピペできることです。

ユーザーの使われ方によって、SVGをimgタグにするか、objectタグにするか、使い分けると良いでしょう。

エクセルで書き出したSVGグラフをリサイズ

前回エクセルからSVGグラフを書き出し、HTMLにimgタグで埋め込みました。もし、objectタグで埋め込む場合は、サイズが大きすぎて扱いにくいので、リサイズするのが一つの手です

追記訂正:viewBox指定が最良の手だと考えます。

デフォルトだと大きすぎる

前回書き出したSVGグラフは、デフォルトで1653px×993pxありました。

エクセル上でリサイズすると文字が崩れてしまうので、SVGで出力した後にリサイズします。

画像編集ソフトでリサイズ

illustratorなどの画像編集ソフトで、SVGをリサイズします。

私はInkscapeを使って、500px×298pxにリサイズしてみました。

キャンバスも同じサイズにしないと、HTMLに埋め込むときに余計な空白ができてしまいます。

追記訂正:画像編集せず、SVGのコードでviewBox指定が良いです!

エクセルのグラフをSVGでHTMLに掲載

HTMLにエクセルのグラフを掲載する際、SVG形式で掲載する方法があります。SVGは容量が小さく、拡大してもキレイに表示できるメリットがあります。

エクセルからグラフのSVG書き出し

エクセルのグラフを右クリックして、「図として保存」を選択。

ファイルの種類で「SVG」を選んで保存。

これだけでエクセルからグラフのSVGを書き出せます。

試しにオープンデータである「新型コロナウイルス新規陽性者数」の2022年3月推移を書き出してみます。

書き出されたSVGはデフォルトだとwidth=”1653″ height=”993″と、大きめに指定されていました。

容量はたった12KBです。軽い!

HTMLにSVGグラフを掲載

ただ掲載するだけなら、imgタグが一番扱いやすいです。

imgタグにサイズを指定して掲載できます。

エクセルグラフを掲載するとき、軽さとキレイさを優先する場合は使えます。

会社用OneDriveでバッジ処理ができないときの対処

個人用OneDriveで動作させていたバッジ処理を、会社用OneDriveに移設したところ、動作しなくなりました。OneDriveフォルダ名に問題があるようです。バッジ処理時のパス指定で、ショートネームを利用することで解決しました。

半角スペースでバッジ処理が落ちる

環境はWindows11となります。

OneDriveフォルダ上のプログラムを実行するため、バッジ処理を走らせようとしたところ、エラーで落ちました。

個人用OneDriveなら問題ないのですが、会社用OneDriveではエラーが起こります。

理由はフォルダ名。会社用OneDriveでは「OneDrive – 会社名」と、半角スペースが入っています。

これがエラーの原因です。

OneDriveフォルダをショートネームで指定

半角スペースのあるフォルダを、ダブルクォーテーション「”」でくくればエラーを回避できるという噂を聞きました。しかし、私の環境では改善されません。

もう一つ、ショートネームでフォルダを指定する方法があるのでそちらを試します。

「OneDrive – 会社名」フォルダは「ONEDRI~1」のようにショートネームが割り当てられています。それを使い、パスを指定します。

「dir /X」とコマンドプロントで入力すると、ショートネーム一覧がでるので確認してみましょう。

ショートネーム利用で、無事にバッジ処理を実行できました。

OneDriveは、デフォルトで半角スペースフォルダを生成しないで・・・。

スムーススクロールscroll-behaviorが実用段階に

CSS 1行でスムーススクロールが実装できる「scroll-behavior」。iOSの対応と、IEのサポート終了で実用段階になりました。良くも悪くもスピードやイージングは調整できません。

CSSで簡単スムーススクロール

ページ内遷移を分かりやすくするスムーススクロール。

今まではJavaScriptで実装するのが一般的だったと思いますが、今後CSS 1行(3行?)で実装できます。

動作についてはMDN Web Docsで確認可能です。

スピードやイージングの調整不可

2022年4月現在、スクロールのスピードやイージングを調整することはできず、ブラウザ依存となります。

たまに、JavaScriptで実装したスムーススクロールサイトで、スピードが遅すぎ、閲覧しにくいことがあります。

デザイナーの感性に依存するスピードであれば、指定できなくなることが、必ずしも悪いことではありません。

ブラウザサポートが実用段階に

利用者の多いブラウザでサポートされていなかったのが、Safari(iOS)とIEです。

Safari(iOS)に関してはiOS15.4からサポートされ、IEはあとわずかな命なので無視できます。

主要ブラウザでサポートされたことで、実用できる段階になりました。

ゴムでトリガーが戻るレゴ鉄砲 Ver.2

長男(小6)がレゴ(マインドストームのパーツ)で作った鉄砲がバージョンアップしていました。精度と威力が上がり、安全装置もついたようです。

安全装置を倒すと誤射しない

鉄砲の上部に安全装置を作ったそうです。

安全装置を倒すとトリガーが固定され、発射できなくなります。

ゴムをセットするときの誤射が防げます。

そのほか、砲身が長くなり、威力と精度が上がったと言います。

ゴム鉄砲発射スローモーション

あいかわらず良いギミックですね。

私も撃ってみましたが、確かに3m先の直径3cmの的に当たるくらいの精度はあります。

すばらしい改善です。

レゴを使ってPDCAを回すことは、将来良い経験になるでしょう。

簡単にできるシマエナガおにぎり

妻が「シマエナガ」と言って、おにぎりを作っていました。北海道にいる白い小鳥です。少し不格好な気がしますが、可愛くて手軽に作れる感じです。

少ない工程でシマエナガ

白い鳥なので、海苔の型抜きも少なく、簡単に作ることができるようです。

ネットで見たニュースを参考にしたとのこと。

気軽に試せる工数の少なさが、とても良いです。

漢字を身近に!食卓を漢字学習デスクとする

最近になり、漢字の勉強の重要性を感じるようになりました。学習机用の漢字一覧マットを買い、リビングの食卓に敷き、上からビニールのテーブルカバーをかけました。いつでも漢字を見ながら生活できます。

漢字の勉強が必要・不要の前に

デジタル時代、親も漢字が書けなくなっている状態で、「漢字は書けなくても読めればいいよ。」と、子供に言っていました。

しかし、それは大きな間違え。

必要論、不要論以前に、子供たちには漢字テストがあり、できなければ補習があり、多くの時間を費やします。

子供に避けられない課題がある状態で、親が勉強を否定するようなことを言ったのは反省です。

やる気がなくなれば、勉強意欲が落ち、より補習で時間を費やすという悪影響を与えます。

食卓に漢字一覧マット

親の意識改革の一環で、漢字マットを食卓に導入することにしました。

生活会話の中で登場する言葉を、すぐに漢字でどう書くか、説明できる環境を作りました。

実際にこの環境を、うまく生かせるかは分かりません。

試行錯誤しながら、漢字学習成果が出る方法を探ります。