友人アーティストのKindle絵本作成サポート helping my friend, artist, to publish a Kindle picture story book

1. どうでもいい話

1.1 半珪化木

図1 ぼくの梅さん

 昨年の今頃,タニハ西縁の倉庫にあった家具仕立ての切り株が捨てきれず,もう一年,玄関に置いていたことになる。腰が砕けんばかりに重く,半珪化木だと思っていた。何とか役に立てないかと思っていたが,友人のアーティストに彫刻の材料になるのではと思い,電話したが通じない。写真付きで手紙を出したが返事がない。体でも壊したのかと心配しつつ,2カ月も経ったか。電話したら通じて元気だという。半珪化木だと伝えて,是非欲しいとなった。

 図1はぼくの梅さんだ。葉は全くでないで,花が咲いている。ベランダに咲く紅梅も葉はなく,幹は何となく裂さくれ立っているが,この梅さんの幹はサクラのようだ。花の柄は短いが確かにある。

1.2 半珪化木の筈が

 昨日,Feb. 24, 2024, 友人に渡す前にと,タニハに出かけた。到着後,友人に訪問の意思を伝えて,了解を得た。この半珪化木を半分に切って渡した方が良いとなって,ディスクグラインダーで伐ることに。

 図2,3は,半珪化木と目していたものだ。1年振りに持つと余りに軽い。普通の木だった。倉庫にあった時は農業用水路のレベルに近い地面に置いてあったので,水を目一杯含んでいただけだった。ディスクグラインダーの有効深が4cmほどで使い難く,結局,普通のノコで切り分けた。その結果が図4だ。

図2 ディスクグラインダーを用意して

図3 斜めから

図4 ノコで切り分けた

 図5の右手半片は,瘤状の高まりがあって味がある。これを友人用として,切り分けた断面をディスクグラインダーで削って取り扱いの安全性を高めた。図6,7の半片は図7のような形で玄関の上がり框に立てかけた。格好が良くないので,電動サンダーで形を整えた方がいいだろう。

図5 切り分けた右手がより良い

図6 平滑に

図7 残す方を少し削って

1.3 久しぶりに育った街へ

 タニハから大学進学前まで育った街に向かった。京都縦貫道との交叉点は何故か混んでいた。先の国道九号線の市役所そばの交叉点も混むので,これを回避すべく,市農協会館の交叉点から,九号線に入った。この農協会館は,国際ロータリークラブの留学試験が実施された場所だ。学生時代そのままで懐かしい。市役所交叉点から左折してJR駅前のバイパスから大本教神苑の交叉点で右折して,春日坂を上って,左に高校のテニスコートとみずほ会館を見て,広小路に。かつての閑静な住宅地は崩壊している。旅篭町との交叉点では友人のご両親が経営していた文房具店が今だにあった。二人のお子さんのうち長男さんとは同級だった。少し行くと酒造業の丹山があり,健在だ。お父さんが亡くなって娘が嗣いだという記事を見たことがある。いまはクルマで通ると狭く感じる横町を通って,かつての自宅を通り越してスーパーマツモトに来てしまった。友人が一代で築き上げたスーパーマーケット店舗の一つだ。何故か,スタッフが個をしっかり持っていて優しい。その駐車場にクルマを入れて,アーティストの友人に電話した。マツモトに入ろうとしたら向かいの道路際をあるく男性をみて,きいちちゃんだと感じて,声をかけて,握手をして,昔話をした。懐かしい。

 マツモトではトイレを借りてイチゴ二箱を購入してすぐそばの友人宅に徒歩で。彼は待機してくれていて,長くおしゃべりをした。歓待してくれたが寒くて喉が痛くなった。おみやげの一つに,2023 Summer Marvelous Artists Issue, July Vol.112を頂いた。カラー大判部厚なのに2200円と安い。彼の木彫p. 220に掲載されている。地元芸術家には間違い無く,名を連ねている。複数回,受賞もしている。自宅に戻る途中の能勢町では新雪がうっすらと覆っていた。

2. 絵本の出版

 彼は一流の国際観光ホテルを早めに退職して,アーティストとして生きて行こうとした矢先に,出版サギにあった。この種の詐欺行為をする似非出版社は日本にも多数あって,似非ながらも生きながらえているものも多い。懸賞を装って応募作品の中から厳しい審査をクリアした,という形で,なけなしのお金をふんだくる「出版社」も多い。

 ぼくのこのサイトで述べてきたように,Kindle本は,こういう人々にも救いの場だ。世界に出版社は不要と考えても間違いでは無いぐらい,Kindle本は凄い。今だ出版社が生き残っているのは,Kindle本のスーパーパワーを社会がまだ認知していないからに過ぎない。

 というようなことを彼に説いて,ぼくが代理で彼の絵本を出版することにした。その経緯を今後,このページに記して行く。もちろん,全部,無料。彼の著作権はもちろん,そのまま。販売額は彼が決めることになる。ぼくのコンテンツではamazon.com以外は100円均一。

2.1 最初の連絡

 すでに完成した絵本をキンドルから出すという決断をされましたので,今後の流れを考えました。

1 キンドル版では,図は300dpi(以上)でアップロードする必要があります。経験的に,この程度の解像度であれば,30枚ぐらいであれば,アップロードも問題ありません。100枚でも問題無いのじゃないかと感じています。スマートフォンiPhoneやタブレットiPadで閲覧すると瞬時に閲覧でき,拡大して詳細も閲覧することができます。

2 お手持ちの原画をデジカメで撮影してください。媒体をそのまま,当方にお送りください。Adobe Photoshopで閲覧して,多少,手を加えるかも知れません。その作業結果は,お送り頂いた媒体にコピペして,確認して頂きます。

 セブンイレブンでしょうか,ここでスキャナーが使えますので,問題無いかも知れません。ただ,当方の複合機(スキャン能力,1500dpi)では出來が悪く,iPhoneでフリーハンドで撮影した方がいい結果になります。

3 見せて頂いたテキスト量は多くないので,プリントアウトをそのままお送り頂いてもいいかと思います。

以上,第1回目のご連絡,Feb. 25, 2024記。

 

 




Microsoft Excelで度分秒表示角の差を求める calculating the difference of DMS angles in Microsoft Excel

はじめに

 Microsoft Excelで度分秒表示角の差を自力で求める手法を知るのは必ずしも簡単ではなかった。光波測距儀での水平角はDMSで求める。測量の後に結果をまとめる際には,水平角の偏角補正が必要となる。これまでは不器用にも,度,分,秒,個別に計算していた。日本では磁北が西偏しており,水平角は時計回りで求めるので,水平角の真北表示をする場合,読値から例えば7度40分などで,差し引くことになる。分計算をして,後に度計算をすることになるが,まあ,手計算に近い。

 いま,droneで作成した3Dマップに光波測距結果を投影する作業をしているが,手作業では余りに寂しくて,Microsoft Excelでの関数計算を実施することにした。

1. 計算プロセス概観

図1 DDからDMSへの換算式

図2と,図3(図2の計算式表示)では,Microsoft Excel計算過程の一部を示している。第29行の十進度(十進角,DD)は第30,31行でDMS形式に変換している。図1はウィキペディアのDDからDMSへの換算式で当方が考えたものと一致している。
 しかしながら,何故か,カシオ計算サイトの結果とは秒部分で何故か多少合わない。

図2 3Dmap上で光波放射星形区をフィット両円交点と座標回転.xlsx
図3 ^`で計算式を表示

図4 カシオ計算サイト

図4の計算結果とは,秒単位で,何故か,異なっている。

2. 計算式の説明

 図2と図3を使って示す。B点に該当する光波測距儀の光軸回転DMSを第31行に示している。余弦定理を使って求めた。B点の光波測距儀の読値を第32行に示している。第31行マイナス第32行のDMS単位の計算を実行するべく,Microsoft Excelの関数を使用した。

2.1 concatでDMSデータの準備

 concat関数の使用法については,CONCATENATE関数で顧客リストをスピード整理!文字と文字をつなげる便利な関数 を参考に。
 B33(B34)とC33(C34)を比較すると,秒表示が異なるが,図3に見られるようにB33には,=concat(B32,”:”,C32,”:”,D32),という計算式が入っているためである。なお,Excel 2016以降,concatenate関数は簡略化かつバージョンアップされてconcat関数になったようで,従来のconcanenate(《コ》〔文字列などを〕連結させる)の代わりに今後はconcatを使うことにする。

2.2 減算結果がマイナスの場合は

 第34行では,DMS形式のまま,減算できて,-03:25:07.0,が得られているが,DMSの計算は結果が正である必要があるので,工夫が必要だ。【エクセル時短】時間計算をしたら「######」に! マイナスの時間は3つの関数で表示できる に対処法が,次のように記されている。

引用開始 ————————————————
 Excelで時間計算をしたとき、結果が「######」と表示された経験はありませんか? 例えば、ある業務の作業時間が、何らかの改善によって5分から3分に短縮されたとします。改善後と前を比較(引き算)したとき、-2分という結果を期待しますが、Excelでは正しく表示できません。これは、Excelの内部で時刻を表す数値が「シリアル値」として扱われているために起こります。
引用終了————————————————

 セルB34マイナスC34を計算する場合,=TEXT(ABS(B34-C34),IF(C34>B34,”-hh:mm:ss.0″,”hh:mm:ss.0″)),という形にする(ss.0は小数点以下一桁を表示)。セルB34マイナスC34はマイナスなので,IF文の条件文 C34 > B34に該当するので,”-hh:mm:ss.0″が,実行される。正かゼロの場合は,通常の時間計算の”hh:mm:ss.0″が表示される。マイナスの場合,hh:mm:ss.0,にマイナス記号が付加されるのである。

 なお,この「=TEXT(⋯⋯⋯⋯⋯)」が機能する場合としない場合があり,その理由がわからない。

3. 光波測量結果に

 光波測量によるネットワークをdroneマップに投影する方法,の,5.2 新たなls_1の光軸回転角を求める,の図29で得られた光軸回転角 -02:53:53.6を使って,これまでの手作業ではなくて,自動?で計算式を埋め込みたいと思った。

 図5は失敗例である。しかもF15:F21の計算で使用した光軸回転角が過っている。A14:C21のHR値は光波測量時の読み取り値である。それらから光軸回転角を差し引いてA15:A21の結果が得られて,この-hh:mm:ss.0値をDMSを一つのセルに分割すべく,メーンメニューの,データ > 区切り位置(:),の機能を使って実行するのであるが,G16:G21の選択域に示すように,うまく行かない。

図5 -hh:mm:ss.0のDMSセル分割

 試行錯誤しつつ,成功した。http://kiyopon.sakura.ne.jp/situmon/kaitou/index.htm の,

————————————————
2.角度の60進数を10進数に表示させる関数は?
  例えば 30度45分20秒 と入力すると30.7555・・・と表示させる

60進数を10進数にするよりも次のようにすると簡単です。A1セルに30:45:20と入力した場合次の式を入れることで30.75555556と表示されます。=A1*24

————————————————
というアドバイスを使うことでクリアすることができた。その結果を図5に示す。

図5 光軸回転角の自動?計算結果

 図5の赤字2’に示したのは,光軸回転角 -02:53:53.6,である。−での計算がMicrosoft Excelでは対応しないので,計算式中の$M$1の値は➕️にして,−は別途計算式で追加することにした。その計算式は図5下段のI15:I21の部分の部分である。列タイトルを「DMS ± 回転角」とすることで,このシート使用時で,お粗末ながら喚起している。思えばIF文で設定は可能であるが。まあ,赤線の3では,Loc. 6は,104度24分46.4秒となっていて,光波測量によるネットワークをdroneマップに投影する方法 の,「5.2 新たなls_1の光軸回転角を求める」,で得たDMSに幸い一致した。

 これを含むK16:M21の範囲をコピー,そして,上段のG4:I9にテキストのみペーストした。赤線3’のように正しくコピペされている。この結果得られた直角座標値M4:N9の赤線4でのLoc. 6のXY値は,3Dマップに載せられたls_2星形区のLoc. 6と完全に一致したのである。

 図6には図5の埋め込み計算式を表示している。赤線5’では,光波HRの読値のhh:mm:ss.0値から赤線5の|光軸回転角|をマイナスしている。赤線6では赤線5’の値に24を掛けて,後に,セル書式を数値に変えている。そして,赤枠7では,図1の計算式を埋め込んでいるのである。この赤枠7の領域をコピーして,赤枠7’のようにテキストペーストしている。

図6 図5の埋め込み計算式を表示

以上,Feb. 19, 2024記。

追記 Mar. 31, 2024:

 光波HR読値のhh:mm:ss.0から,この値より大きい値を差し引く計算は,関数を記述しても,何故か,失敗することは多い。その確たる対策をここに示す。
 角度 “hh:mm:ss.0” の差を取った場合,マイナス値になると,セルに「######」などと表示される。これを避けるべく,
=TEXT(ABS(H64-$N$1),IF($N$1>H64,”-hh:mm:ss.0″,”hh:mm:ss.0″))
とするが,これでも結果が,マイナス表示されず,12:37:19.2などとなる。-36:37:19.2であったが。

 単位円を考えると,- 41º54’19.2″は,360º00’00.0″マイナス- 41º54’19.2″ = 318º05’40.8″と考えても問題無い筈だ。つまり,$N$1に,=”360:00:00.0″-P1,を入れても同じ筈だ。そう考えて,このシートを作成すると,成功した。トータルが360ºを超えても,三角関数の計算には問題が無いので,形に拘る必要性はない。差の計算を和の計算にするのはいいアイデアだと我ながら思う。

以上




Gnuplot for mac installation failed

はじめに

 追記Feb13_2024: 本ページのタイトルを変更した。

 Gnuplotは方程式などを図化する公開アプリである。Gnuplot – a powerful plotting program for
professional scientific graphs
などで紹介されているように重宝されている。どんな方程式でも工夫すれば,Microsoft Excelで簡単に図化できるので,清書してくれるのがGnuplotという印象である。

 Gnuplotは,いわば一枚のグラフ用紙に複数のグラフや複数の座標点をプロットできるようである。まあ,その目的で検索して辿り着いた。その機能があれば,頭にある種々の考えを図化することができそうだ。そう思って,Gnuplotをインストールし,ちょっと使ってみることにした。ただ,今は時間がないので,ここにメモとして残したいと思う。

1. macへのインストール

【Mac編】gnuplotをインストールしてみよう これが良いような気がする。ここでは先にHomebrewをインストールしている。
 Maximaを活用した数学学習 これもフリーウェアである。計算処理につかわれる。

2. 使い方Web情報

Gnuplot の使い方 (2次元表示のみ)

gnuplot 5.2 An Interactive Plotting ProgramThomas Williams & Colin Kelley Version 5.2 organized by: Ethan A Merritt and many others

3. macへのインストールの断念

3.1 Homebrewのインストール

【Mac編】gnuplotをインストールしてみよう に従って,Homebrewをインストールした。そして,この指示に従って,brew updateを実行しようとしたが,

moto-airmaclocal:~ moto$ brew update
-bash: brew: command not found

となった。

3.2 Xcodeのインストール

[Homebrew] brew updateができない場合 2023/03/06に公開
で,XCodeをdownloadするとこのCommandLineTools for Xcodeも自動的にdownloadされるということなので、XCodeのdownloadをしていく,とあって,これに従ったが,Xcodeのインストールを完結することができなかったようだ。
何より,アップルストアで見ると,Xcodeのサイズは3.4GB,重すぎる。/アプリケーション/Xcode.app Ver. 15.2をみると,12.43GBもある。当方のMacの使い方からすると,無用の産物に近い。そして,

moto-airmaclocal:~ moto$ brew update
-bash: brew: command not found

と変わらない。

3.3 Xcodeのアンインストール

Xcodeを完全にアンインストールする (MacのXcodeを完全にアンインストールする2つの方法 土方さん 最終更新日: 2023年6月14日),は,アプリBuhoCleanerの宣伝サイトである。ここにはマニュアルでのアンインストール法を記しつつ,安全のために,アプリBuhoCleanerを購入した方が良い,みたいな流れになっている。以前,この種のウェブページを見た際には,ぼくの理解能力内のもので,そのマニュアルの手法は正しかった。この種のページのマニュアル削除の手法は正しいものと考えて問題は無いであろう。

1 Xcodeを終了する。

2 「Finder⇒アプリケーション」を開き、Xcodeを選択した後、ゴミ箱に移動する。

3 Finderの「移動」メニューをクリックし、「フォルダに移動」を選択する。

4 以下のパスを1つずつ検索ボックスに貼り付け、Returnキーを押す。

図1 ~/の意義

~/Library/Developer
~/Library/Application Support/Xcode
~/Library/Caches/com.apple.dt.Xcode
~/Library/Preferences/com.apple.dt.Xcode.plist

/Library/Preferences/com.apple.dt.Xcode.plis
/System/Library/Receipts/com.apple.pkg.XcodeExtensionSupport.bom
/System/Library/Receipts/com.apple.pkg.XcodeExtensionSupport.plist
/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.bom
/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.plist

5 開いたファイルまたはフォルダをゴミ箱に移動する。

6 ゴミ箱を空にする。

 以上のプロセスを実行した。

4の,~/で始まるファイルは,ファインダーで,ユーザー > そのMacの使用者名,に続くライブラリーであって,4ファイルまたはフォルダーが対応している。
~/Library/Developer,には,CoreSimulator/, DeveloperDiskimages/,Xcode, XCTestDevices/,という4フォルダーあり,全部,本日,インストール作業した時間帯になっており,安心して,全4フォルダを削除した。

~/Library/Application Support/Xcodeについては,Xcodeが存在しない。
~/Library/Caches/com.apple.dt.Xcodeフォルダあったので,削除。
~/Library/Preferences/com.apple.dt.Xcode.plist,これも削除。

 以上,削除したファイルやフォルダーは,全部,本日インストール作業した時間帯になっていた。ユーザーと同階層の/Libraryと/System関連が次のものである。

/Library/Preferences/com.apple.dt.Xcode.plist 削除した。本日の作業時間に対応。

/System/Library/Receipts/com.apple.pkg.XcodeExtensionSupport.bom
/System/Library/Receipts/com.apple.pkg.XcodeExtensionSupport.plist
/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.bom
/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.plist
この4カ所のSystem/Library/Receipts/フォルダーには何も入っていなかった。

 これで,すべてのXcode関係のものは削除した筈である。

 以上の作業に問題が無いのか,わからない。まずはここで,このMacのリスタートをしよう。で,リスタートした結果,一応,変なメッセージは出ない。しっかり削除するには,タイムマシーンで最新のバックアップから復元するのがいいんだけどねえ。

3.4 Homebrewの削除は

簡単】MacでHomebrewをインストール、アンインストールする方法 (2023 / 03 / 27 2023 / 03 / 30) を使ってインストールすればよかったと思うが,もうインストールする気持ちがなくなった。まずは,cleanupをする必要がある。

moto-airmaclocal:~ moto$ brew cleanup
-bash: brew: command not found

 Homebrewもインストールされていないようだ。

moto-airmaclocal:~ moto$ brew -v
-bash: brew: command not found

となるので,インストールされていないことになる。結構インストールに時間がかかるらしいので,経験的におかしい。

 Homebrew公式のGitHubで実行するようだ。

 uninstallを実行してみると,それなりに進行する。

Are you sure you want to uninstall Homebrew? This will remove your installed packages! [y/N] y
==> Removing Homebrew installation…
==> Removing empty directories…
Password:
==> /usr/bin/sudo /usr/bin/find /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/opt /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/Frameworks -name .DS_Store -delete
==> /usr/bin/sudo /usr/bin/find /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/opt /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/Frameworks -depth -type d -empty -exec rmdir {} ;
==> Homebrew uninstalled!
The following possible Homebrew files were not deleted:
/opt/homebrew/etc/
/opt/homebrew/share/
/opt/homebrew/var/
You may wish to remove them yourself.

moto-airmaclocal:~ moto$

 最後のメッセージによれば,次のファイル群をマニュアルで削除する必要がある。

/opt/homebrew/etc/
/opt/homebrew/share/
/opt/homebrew/var/

図2  Finderで,/opt/を表示

このウェブページによれば,Finderを開いて,キーボードの「Shift + command +g」を押して,/opt/,を入力して,/opt/にアクセスできる。homebrew/を削除すれば良い。

 このウェブページに最初に会えば良かったのにねえ。

4. Windowsにインストール

牛島省研究室のものが2023年3月とあって新しいので,これを参考にしようとしたが。
Windows PCへのgnuplotのインストール (2023年3月)

全然だめだめで,説明は全然対応しない。

それと,直前記憶というか,昨年の12月4日にすでにmouseのWindows 10マシーンにインストールしており,デスクトップに,gnuplot 5.4 patchlevel 6,のショートカットが載っている。https://sourceforge.net/projects/gnuplot/files/gnuplot/ で,Get Updatesボタンをクリックして,メールアドレスなどを登録して,メールが届いて,confirmした。しかしタイムスタンプは全く変化なし。リスタートしたが同じだ。これは日本語メニューが付いている。

このページは完全に徒労だった。

本格的な散布図の作成アプリ を昨年12月4日に作成している。現ページで考えたことはこのリンクページよりもレベルが低い。バイデンさんじゃないけど,記憶力が大きく減退している。このページはここで打ち止め。12月4日のページに追加してっゆきたい。

以上,2024/02/12記。 

 

 




2円の交点を内積で求める finding the intersection of two circles using inner product

はじめに

 ある光波測距儀設置点ls_pからの複数の測点の結果があって,その測点のうち2点A, Bの3Dマップ上の座標値,(Xa, Ya), (Xb, Yb),が得られている場合,ls_pを求めることができる。なお,測量結果にはls_pから2点A, Bまでの水平距離HD,Ra, Rb,が含まれる。

 二つの円の交点を求める課題と同様で,すでに別のページで述べたように,二つの円の連立方程式を解く手法があるが,問題が出てきて,その対処に手間取った。

 次のWeb情報は極めて有効だが,ぼくからすると,簡潔すぎるので,ダサい補足説明を加えている。Microsoft Excelについても,多少,みかけだけだが,使いやすくした。
大矢建正のページ(数学,数楽 & プログラム)(大矢さんは数学,数学教育,情報学が専門の元東海大学教授),の,

図形と方程式 2円の交点 [PDF] Excel プログラム[xls]
図表1 2円の交点のpdfとエクセルファイル

概要

図2 2円の交点モデル

Microsoft Excelに入力すべき情報は次のようである。

測点Aの座標値:(Xa, Ya
光波測距儀設置点ls_pから測点Aまでの水平距離:Ra
測点Bの座標値:(Xb, Yb
光波測距儀設置点ls_pから測点Bまでの水平距離:Rb

 図2は,当方のモデルである。2円の交点は,P1とP2である。この何れかに,光波測距儀の設置点 ls_pがある。計算式の作成上,慣例的に交点をP,Qとするより,理にかなっていると思っている。N(normal,大矢氏の記号はH)は,線分AB,線分P1P2の(垂直)交点にあたっている。

 計算結果は,次のようだ。
交点P1の座標値:(Xp1, Yp1
交点P2の座標値:(Xp2, Yp2

計算の考え方:

 円の幾何学から,ベクトルABとベクトルP1P2が直交することは自明である。その交点N上で,ベクトルABに直交するベクトルNP1の単位ベクトルnを求めて,ベクトルNP1,NP2を得るという流れになる。 ベクトルの内積を利用した計算である。補足説明を加えてゆく。なお,この計算では慣例通り,NP2はNP1にマイナス符号をつける形で求めている。

ステップ1 線分AN長を求める

 図1の凧形でピタゴラスの定理を使って求める。

AN+BN=AB………式(1)

 但し,ABの値はピタゴラスの定理で自明

AN^2 – BN^2 = Ra^2 – Rb^2………式(2)

 但し,図1の凧形AP1BP2は直角三角形で構成されており,AN^2 = Ra^2 -NP1^2,BN^2 = Rb^2 -NP1^2が成り立つ。

AN – BN = (Ra^2 – Rb^2) / AB………式(3)

 但し,右辺の値は自明。式(2)から,AN^2 – BN^2 = (AN + BN)(AN – BN)ゆえに,AN – BN = (AN^2 – BN^2) / (AN + BN) = (Ra^2 – Rb^2) / AB。

AN =  (Ra^2 – Rb^2) / 2AB + AB/2………式(4)

 但し,右辺の値は自明。つまりはAN長を求めることができた。式(3)と式(1)から得られる。

 なお,Ra, ANが既知となるので,

P1N = sqrt ( Ra^2 – AN^2)………式(5)

 次のベクトルの計算では,この線分ANと線分P1N(NP1)の長さを使う。

ステップ2 交点N上の単位ベクトルnを求めて交点P1,P2の座標を求める

ベクトルABに垂直な単位ベクトル n = ( (Yb – Ya)/AB, (Xa – Xb)/AB ) ………式(6)

 ここでは,内積を使って,あるベクトルに垂直なベクトルを求めている。ベクトルABとベクトルP1P2の交点であるN点で,ベクトルABのXY成分を入れ替えて、片方の符号を変えて、ベクトルABの線分長で割って、垂直な単位ベクトルが得られる。

ベクトル a = (a1, a2) に対して,ベクトルb = (b1, b2)が垂直の場合,内積はゼロになる。(a1, a2)・(b1, b2) = 0。式を整理すると,b1= ka2, b2=-ka1となる。このkがここの例では,1/ABにあたっている。

ベクトルNP1 = +|P1N| n  ………式(7)
ベクトルNP2 = +|P1N| n ………式(8)

交点の数

P1N^2 = Ra^2 -AN^2 ………式(9)
が負の場合,共有点なし。が0の時は共有点が一つ(接点)。正の時は二つ。これは二次方程式の判別式にあたる。

エクセル計算

 大矢建正さんのエクセルファイルをほぼそのまま,利用させていただきます。当方の便宜上,タイトルなどは変更しました。図3は標準表示,図4は組み込み数式表示。H列には数式の参照セルを見る便宜上,G列の行番号を表示している。

図3 エクセル表
図4 計算式表示

・G2では,ピタゴラスの定理で,線分AB長を求めている。

・G3では,式(4)で,ANを求めている。

・G4では,図2の線分AN/AB比を求めている。これはベクトルANのX座標比,Y座標比を求める準備である。

・G5,G6には,点Nの(X,Y)座標を求める計算式が入っている。この計算式内を下に列挙する。
  Nx=B2+(B3-B2)*G4 ………式(10)
  Ny=C2+(C3-C2)*G4 ………式(11)
  G4は,線分AN/AB比ゆえに,円ABの中心の相対的な位置関係に関わらず,成立する。

・G7は,式(9)に対応する。実は式(9)は二次方程式の判別式に対応しているのである。式(9)を次に再掲する。式(9): P1N^2 = Ra^2 -AN^2
ここでは,sqrt (P1N^2)を設定することはできない。P1N^2が負の場合もあるからである。2円の関係によっては,凧形AP1BP2は成立せず,点N,P1N,ANは何も成立しない。図2のように凧形AP1BP2が成立して初めて,P1P2の交点2点が存在する。この場合,P1N^2 > 0と表現できる。線分ABと線分P1P2の交点Nが円内に成立する。2円が接する場合というのは,線分AN = Raの場合で,P1N^2 = 0と表現する。これ以外は,P1N^2 < 0となる。
・図4左手の交点P1P2の4箇所の出力欄にはすべて,IF文が入っている。以下,列挙すると,
交点P1のX座標: IF (G7 < 0, ” “, G5+G9*G8) ………式(12)
交点P1のY座標: IF (G7 < 0, ” “, G6+G10*G8) ………式(13)
交点P2のX座標: IF (G7 < 0, ” “, G5- G9*G8) ………式(14)
交点P2のY座標: IF (G7 < 0, ” “, G6- G10*G8) ………式(15)
となる。共通部分は,IF (G7 < 0, ” “, 実行式)であるが,G7 < 0の場合,” “, つまり空白文字を出力し,G7 ≧ 0の場合は,式を実行せよ,となっているのである。実行式によって,交点P1P2のXY座標を得ることができる。

 残ったG列のG8には,PN = IF (G7 < 0, 0, SQRT(G7),とあるが,判別式(G7)が負の場合,PN^2=PN=0としているので,自動的に2交点P1P2のXY座標値の出力欄は空白となる。G7 ≧ 0の場合は,sqrt(G7)だから,PN = P1N = sqrt (Ra^2 -AN^2)となる。上記の式(12)〜(15)のG8にこの値が入る。

 最後のG9, G10は何を計算しているのか。式(6)を再掲する。
ベクトルABに垂直な単位ベクトル n = ( (Yb – Ya)/AB, (Xa – Xb)/AB ) ,について,n_xは (Yb – Ya)/AB,n_yは(Xa – Xb)/AB,に当たっている。
 交点P1P2のX座標については,式(12)と(14)が対応し,X座標値に関わっており,
G5+G9*G8 = Nx + n_x * P1N となって,図2で見ると,点N + ベクトルNP1
G5- G9*G8 = Nx − n_x * P1N となって,図2で見ると,点N − ベクトルNP1
を演算することになる。
 交点P1P2のY座標については,式(13)と(15)が対応し,X座標値に関わっており,
G6+G10*G8 = Ny + n_y * P1N となって,図2で見ると,点N + ベクトルNP1
G6- G10*G8 = Ny − n_y * P1N となって,図2で見ると,点N − ベクトルNP1
を演算することになる。

以上,Feb. 10, 2024記。

Web上での計算

円と円の交点座標計算 by s-project

以上




現在メンテナンス中のため,しばらくの間ご利用いただけません Briefly unavailable for scheduled maintenance. Check back in a minute. 

これは,WordPressでのメンテ作業中に生じた。時々遭遇しているが,半時間ぐらいかかってしまった。契機は指示されたアップデートを実行しつつ,他の作業もしてしまったことにあるのだろう。

【困惑】「現在メンテナンス中のため、しばらくの間ご利用いただけません」出たまま がもっとも有効のようだ。次回,このアドバイスを実行してみようと思う。

以上,Feb. 7, 2024記。




mac time machineが効かなくなったのはロック画面設定のためか time-machine-backup trouble possibly caused by using “lock screen” set 

 macからバックアップせよ,とアラートがきた。最新はJan. 22, 2024だ。Feb. 2, 2024から何度か試したがうまく行かない。図1はバックアップが終わっているだろうと見た時の画面で,2024年1月22日のままで,バックアップ遅延,と表示されている。図1の表示で,今すぐバックアップを作成,を実行した結果が,図2のメッセージで,ここに,「Macのロックを解除するとバックアップの作成が再開されます」とあるが,意味がわからない。ロック解除しているから,Macが使えているのに。

図1 バックアップできない

図2 再度実行したが

図3 システム環境設定では

 お手上げで,アップルケアに電話して,丁寧なサポートを受けた。タイムマシーンで使用する外部ハードディスクの問題をまずは解決しようと,DiskFirstAidを実行して,さて,バックアップを完了の筈であったが,だめで,外部ハードディスクの名称をAug2023bkupとして,初期化を開始し始めるまで,アップルケアにお付き合い頂いた。

図4 外部ハードディスクを初期化しても失敗

図5 アップルマーク>ロック画面実行,また解除して

図6 バックアップ完了

 初期化後も,改善は見られなかった。図4がそのメッセージである。図2と同様だ。まさかと思って,アップルマーク > ロック画面,を選択して,これを「解除」した。その直後の様子が図5である。ほどなく,図6のように,バックアップ完了のメッセージだ。

 Jan. 22, 2024過ぎだったろうか,偶然,アップルマークのメニューに,「ロック画面」lock screen,を発見した。ぼくはスタバなどで席を外すなどの場合,有効だな,と考えて,自宅でも,この習慣が付いてきた。パワーオフというかリスタートするのはなんかトラブルがあった場合で,月に1回もパワーオフはしない。しかし,このロック画面は便利だなあ,と使うようになった。

 どうもこの「ロック画面」を使うようになってから,タイムマシーンが使えなくなったのではないか。

なお,アップルのサポート記事には,Macのディスクユーティリティでストレージデバイスを消去して再フォーマットする などの記事があるが,これらは役に立たなかった。

以上,Feb. 24, 2024記。