フィリプスソニケアー電動歯ブラシ an electric toothbrush of Philips sonicare

はじめに

 大阪に赴任して以来,先輩の方から紹介された歯医者さんお一人に,問題がある際に通ったが,その方の年齢は80歳を超えて,どうもまだ営業されているようだが,行く気になれず,ここ10年ほどか,歯医者に行っていなかった。すぐ玄関前ぐらいに新たに歯医者ができて1度行ったがどうも合わず,ぼくは次の一歩が出なかった。息子の奥さんの父親は歯医者さんなのだが,大阪の南の方で開業されていて,遠いことと歓迎されないように思えて,行かずじまいであった。
 毎年,箕面市から来る歯科検診案内を何とか利用したく,ネットで調べたら,よくいっていたジムの前にこの歯科医院があるようだ。写真には沢山の若いスタッフが写っていて,まあ,行ってみた。すごくいい印象で,1回目は,虫歯2本の治療,その翌週は2回目で,ステイン取り。皆若くて感じがいい。オーナーは一人だが,一つの大学関係の若いメンバーを集めているようだ。この場で開業して,20年だという。全然知らなかった。医者が一人で,いわば休み無く営業を続けることに,違和感があったので,この医院のように,歯医者が五名を超えるようなスタッフの豊富さには魅力を感じている。

 そういえば,歯医者に行った理由は,下顎右側の奥歯のブリッジと歯茎の間が大きくなって,食べ物の滓が残っていて,ツマヨウジを使うのであるが,取れないという問題があった。そういう理由でこの歯科医院に出かけたのだった。X線チェックの結果は問題がないというもので,進行させないために,電動の隙間滓除去のツールを使おうと思ったのである。なかなか良いのが無い。そこで思いついたのが,電動歯ブラシであった。ソニケアーは,音波で歯の根元まで洗うという。まあそれを信じてアマゾンで見て適当な価格のものを購入した。

 アプリと連動するようになっているが,ブルーツースの連動が悪い。使い勝手も慣れていないためのあって,良くない。そこで,サポートに電話して相談したが,解決しなかった。その際に,試用期間30日なので,問題があれば返却できると言われた。これが過りの始まりであった。三日ぐらいなら返却は可能かも知れないが二週間近くでアマゾンでチェックしてもそれは駄目だなあ。

1. Philips sonicare

 購入して10日ほど。歯間が磨けていない。bluetoothを介してのiPhoneとの接続も悪い。明日,返却手続きをしたい。【2023年10月】電動歯ブラシのおすすめ人気ランキング30選【歯科医が選び方を解説!】|徹底比較 が一番,いいようだ。

追記 Nov. 27, 2023: フィリプスのキャンペーンをまともに読まずに勝手に1カ月の試用期間があると思っていた。アマゾンの購入履歴から返却手続きをしようとすると受け付けていない。おかしいと思ってフィリプスのサイトをみると,「対象店舗で対象製品を期間中にご購入いただき、磨き心地にご満足いただけなかった場合、ご購入日の翌日から30日以内に、製品とレシート及び必要事項をご記入済みの応募用紙をご送付いただければ、ご購入代金を全額返金いたします。」とある。アマゾンでは駄目だ。残念っ。

2. パナソニックのドルツ

 W音波で歯間用の繊細のブラシもあって期待したが。https://my-best.com/products/506441 には,振動音も大きく、全員から「頭に響く」「家族から音を指摘された」といったコメントが寄せられました。音が控えめで使いやすい商品もあるなか、こちらは使用する時間や場所に配慮が必要です,とある。モニター五人のうちの四人が下記の感想だ。

  1. 「音が大きく、頭に響く」(モニターA)
  2. 「家で使ってみたところ、家族から音の大きさを指摘された」(モニターB)
  3. 「まわりに響く音量」(モニターC)
  4. 「ノーマルモードでもかなりの音量。自分でも大きく感じるので、まわりにも結構聞こえそう」(モニターE)

追記 Nov. 27, 2023: 1.の追記で述べたように,ソニケアが返却できない。このドルツは有力候補だったが,頭に響く,というのは致命的で,購入リストから外したのである。替えブラシが,フィリプスとブラウンに比べてかなり廉価で,これも魅力と考えていた。

3. Braun’s Oral B i06

 上記の代用として,振動がなくて,歯垢が最も良く取れる機種がこれだ。

以上,Nov. 25, 2023記。

追記 Nov. 27, 2023: このブラウンを購入しようと思ったが,残念ながら,ソニケアが返却できず,さし当たり,諦めた。

4. フィリプス ソニケアー ダイアモンドクリーン HX9911/72を使って行こう

図1 本体,充電器,旅行ケース

図2 ソニッケアーって?

図3 機能

 何故か,フィリプスの全額返金キャンペーンの機種リストにこの機種は含まれない。購入後二週間を過ぎた。手での歯磨きはパソコンをしながら場合によっては1時間もやっていたのではないだろうか。食塩だけで磨いており,塩が喉を刺激するのだろう,吹き出すこともある。このソニケアーはソファーに座って,すぐに済んでしまう。

 歯磨きの時間がかなり短縮されるようになった。手磨きに比べての結果は多少,ソニケアーの方がいい。ただ,奥歯の間の食べ滓は取れない。ソニケアーの使用後,10分後ぐらいだろうか,食べ滓が何となく浮き出してくるように思う。
 アプリとの連動を諦めて,今は,全く使っていない。使っている時には2分間の限定で,次の2分間が出来なかったが,アプリ無しだと,自由に追加できる。今は,2分間 + 2分間,のペースだ。

 タニハに出かける際にも旅行用ケースに入れて持参する。ケースに本体は入るがブラシにプラスチックカバーを付けると,蓋が完全には閉まらず,カバンの中で,本体が転がる現象があったりする。なかなかリッチなケースなのだが,設計ミスだ。充電ケースはバカラではないが,なかなかオシャレなガラスコップで,本体を投げ込めば充電できる。

5. 互換ブラシの調達

 ブラシは3カ月に1回の交換という。同じブラシを使い続けることの違和感も少しある。使ったらすぐに水洗いするのであるが乾かない。本体にブラシを付けたまま洗って,オンにすると,ブルッとブラシから水が飛び出す。これは感動ものだった。

 で,この交換ブラシは高い。アマゾンで安くて1本880円。中国製から選ぶことになるが,口コミを見ると,絶望的になる。種々行ったり来たりして,諦めて,次のものを注文した。これだと1本230円。実際に使ってみてのことになる。あまり期待はしていないがささやかな抵抗といって良いのか。パナソニックだと1本500円ほどだ。これなら純正を使っても良いのだけど。
ブラシモ 互換ブラシ フィリップス ソニッケアー 電動歯ブラシ 替えブラシ 対応 ダイヤモンドクリーン プレミアムブラシヘッドミニ 8本入

図4

図5

図6

以上,Nov. 27, 2023記。

6. ブラシモが到着

 今日,ブラシモの互換ブラシが,タニハに行く前に,自宅前のポストに,届いた。タニハから帰って,食後,使ってみた。心配していたのはソニケアによる言わば拒否反応であったが,そういう現象は無いようだ。磨く強度にもモードにも表示の影響は無いように見える。ただ変更などはしていない。使ってみて,変に振動する場合があり,ソニケアの純正に比べて小さいためなのか,わからない。上掲図6の宣伝文句の3に,「万が一の不具合には,交換・返金対応」,とあるので,このブラシをさし当たり,使ってゆくつもりだ。ブラシサイズが半分近いので,今だ慣れていない。

図7 ソニケアー本体,ブラシ,ケース

図8 ケースがしっかりと閉まる

図9 ブラシモ到着

 ソニケアーに対する不満の一つは,本体とブラシを入れるとケースが閉まらないということだった。しかし図7の赤〇で示したブラシの本体装着部分が多少固くて入り難いためだった。強く押し込む必要があった。ガシッと填まった。その結果,図8のように,しっかりと閉まった。なかなかしっかりしていて,オシャレだ。高級感がある。図9は届いたばかりのブラシモ8本の一つを純正のもの(左手)と並べてみた。長さ1/2で体積は1/4に近い。ソニケアー本体にしっかりと填めることはできる。接続部には純正同様の構造が見られる。次回には,使用感が許容範囲かどうか,記述するつもりだ。

以上,Nov. 28, 2023記。




Gmail ユーザーにメール返信ができない Mail Delivery Subsystem from Google Mailer Daemon

Gmailユーザーへのメールはもう嫌

 Google Monopolyはいまや,USAでは常識。Gmailもその世界に入った。スマホユーザーに使い勝手がいいのか,急速に普及し,その段階で,他のメールアプリを駆逐するプロセスに入ったと言えるだろう。アップルやアマゾンなどのメジャーサイトを名のる怪しいメールがどんどん来るようになった。この状況もうまく利用しているようだ。
 アップルのiCloudもいいだろうが,しらんまに無料限界を超える可能性があるので,特別の場合にしか,ぼくは使っていない。レンタルサーバー(さくら)に付属するメール機能が中心だ。勤務先のメールは退職後も使用可能だが,勤務先の通信環境を担う富士通は自らの低いセキュリティ能力ゆえにMicrosoft Outlookに換えてしまった。ものすごく使いにくい。

 Gmailユーザーとのやり取りで,もう二進も三進も行かなくなった。相手はレンタルサーバーに問題があるというけど,Gmailは世界のIT関連企業のうち,日本のレンタルサーバー運営企業を信頼していないようだ。Gmailに取り込むつもりだ。Outlookはターゲットには今のところなっていない。というか,Gmailの基準をクリアしている。

 いま,自らの受信メールフォルダーのMail Delivery Subsystem Mailer-Daemonのメールを検索してみた。ぼくのフォルダーでは2011年からでトータルで30件ほどだが,その理由は,ぼくが関係していた研究所のメーラーの低いセキュリティによるもの(富士通),携帯からのメール @dokomo.ne.jp,ezweb.ne.jp, biglob, yahoo,ne.jp, softbank.ne.jp, 親族の一人の rejected due to local policy (mac.com) (時々受信される,もう送るのを止めた),であった。

 先月ぐらいからか,Gmailユーザーへの送信について,目に見えて,問題が出てきた。be氏の指摘もあって,昨夜から,原因を探ることにしたのである。
Gmailユーザーに,ぼくもGmailを使って,21:54, Nov. 18に送付すると,他者に21:57, Nov.18に届く。3分ほどだ。
Sakuraから自分のSakura20:32, Nov. 18に送ると,20:33に届く。1分ほどだ。ソフトバンクの5Gはこの頃特に遅くなった。
Sakuraから自分のGmailに20:34, Nov. 18に送ると,届いたのは04:15, Nov. 19。8時間弱だ。

 もう,GmailユーザーにはGmailで送るしかない。Gmailユーザーには当方のGmail宛てに送ってもらうしかない。もちろん,ぼくもGmailユーザーにはGmailを使うしか無い。

レンタルサーバー「さくら」の言い分

 Gmailにメールが転送されない 2023/10/20•ナレッジ に説明がある。要するに,上記の赤字の対処にシフトせよということだ。
 ただ,Gmail(ブラウザ版)の設定をしたい にある手法も紹介されている。これは,Gmailに,サクラや他のメールアカウントを登録するものであり,Webメールが嫌いなぼくには意味のない対策である。

 これからは,3カ所のメールチェックが必要になる。ああ,めんどうくさーいよー。
macのmailアプリで,サクラのメール,iCloudのメール,ヤフーのメールを,
Google Chromeで,Gmailを,
そして,MicrosoftのOutlookを見る必要性がある。

以上,Nov. 19, 2023記。

macアプリメールでgmailを送受信

 macのメールでGmailアカウントを追加することで,gmailの送受信が可能になった。gmailのメール構造がぼくには何とも使いにくくて,イライラしての所作である。

 Gmail設定方法(Macメール 編)を参考に実施した。すでにgmailユーザーであれば,4.【メニュー(歯車アイコン)】⇒【すべての設定を表示】を選択します,から実行する。Googleから何度も鬱陶しいセキュリティ対策の手続きがある。

 アップルサポートの Macの「メール」でメールボックスを読み込む/書き出す でも可能かも知れない。トライしていない。

以上,19:58更新,2024/04/21。

 




名入り色プッシュピン情報のKMLファイルを作る making a KML file containing named coloured pushpins

1. まずは一つだけエディターで

Google Developers.com のKMLの説明を参照した。地上でのトータルステーションを使った測量結果の確認のために,KMLファイルを作る必要性がある。過去に自分が作ったKMLの構造を理解できなくなっている。ネット上にはcsvをkmlに変換するサイトがあったりするが,確か,全部エディターで作成した記憶がある。そこで,Google Developers のレクチャーを参照した。ぼくが今,作成したいKMLの基礎情報だけを整理することにした。

GDcomには,図1について,「この例の目印は Google の Building 41 を指していますが、これは Google Earth が開発された場所です。」とある。GDcomにあるKMLの記述をエディターにコピペしてsimple placemark.txtとして保存して,拡張子txtをkmlに書き換えて,Google Earth Proの保存フォルダーにドラッグアンドドロップした。そのGEProで得られた表示が図1である。左のペーン最下部の保留フォルダーにこのファイルが見える。画面中央の赤枠で囲んだのが,simple placemarkで,Google Earthが開発された場所。目印は黄色で,指示しない場合,デフォルトが黄色のプッシュピンだ。図1のGEProの画面の右手のmacのデスクトップのsimple placemark.kmlファイルを赤枠で囲っている。

図1 simple placemark

図2 Pushpinを左クリックして情報を見る

<?xml version=”1.0″ encoding=”UTF-8″?>
<kml xmlns=”http://www.opengis.net/kml/2.2″> <Placemark>
<name>Simple placemark</name>
<description>Attached to the ground. Intelligently places itself at the height of the underlying terrain.</description>
<Point>
<coordinates>-122.0822035425683,37.42228990140251,0</coordinates>
</Point>
</Placemark> </kml>

以上,Nov. 15, 2023記。

2. 複数の名前入り位置情報は

 複数の名前入り位置情報を登録するには,https://developers.google.com/kml/documentation/kmlreference?hl=ja#folder を使うことになるだろう。このリンクにはサンプルが表示されている。ぼくが必要なものだけ残して,次に示す。

<?xml version=”1.0″ encoding=”UTF-8″?>
<kml xmlns=”http://www.opengis.net/kml/2.2″>
<Folder>
<name>Folder.kml</name> <open>1</open>
<Placemark>
<name>Folder object 1 (Placemark)</name>
<Point>
<coordinates>-122.377588,37.830266,0</coordinates>
</Point>
</Placemark>
</Folder>
</kml>

 この記述のうち,<open>1</open>の1の指定によって,KMLファイルを選択した時に,フォルダーが開いて表示される。いま,ぼくの目的を達成する記述を次に示す。行間は実際には禁忌である。

<?xml version=”1.0″ encoding=”UTF-8″?>
<kml xmlns=”http://www.opengis.net/kml/2.2″>
<Folder>
<name>gc7points.kml</name> <open>1</open>

<Placemark>
<name>gcp_a</name>
<Point>
<coordinates>経度a,緯度a</coordinates>
</Point>
</Placemark>

<Placemark>
<name>gcp_b</name>
<Point>
<coordinates>経度b,緯度b</coordinates>
</Point>
</Placemark>

⋯⋯⋯⋯⋯

<Placemark>
<name>gcp_g</name>
<Point>
<coordinates>経度g,緯度g</coordinates>
</Point>
</Placemark>

</Folder>
</kml>

 目印はデフォルトの黄色になるので,他の表示と競合するので,水色に変えたいし。

3. プッシュピンの色を変更したい

Google Earth/Maps Icons にサンプルアイコンのリストが見える。このリンク先は,http:,なのであるが,リンクは見ることができる。Googleがセキュリティの観点から,http:,を廃棄したのにもかかわらずである。興味深い方針だと思う。http://maps.google.com/mapfiles/kml/pushpin/ltblu-pushpin.png アイコンは色々あるが,プッシュピンの針先が正確な位置が表示できるので,プッシュピンから離れられない。

 全pointsに対して同じプッシュピンを使うとなると,<Document>と</Document>で囲んで,その冒頭に<IconStyle>と</IconStyle>で囲んだブロックを配置するのだろう。少し実験したが,結局,Google Earth Proで,左ペーンの場所のタイトルを選んで,右クリック / コピー,して,エディターにペーストして学ぶところはあったが,不要なものも付加されている。
 種々,その後,学んで?,最低限の形を得ることができたので,次に示す。なお,このWebページへのコピペは,preformattedを選択しないと,出来ない。特に個々のプッシュピンに対する色指定の部分をオレンジ色に塗っている。なお,次のスクリプトには行間が入っているが,実行ファイルには入れてはならない。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">

<Document>
	<name>UwamizakiDroneBase7gcp.kml</name>
	<open>1</open>
	 <Style id="whtpin">
             <IconStyle>
                 <Icon>
                     <href>http://maps.google.com/mapfiles/kml/pushpin/wht-pushpin.png</href>
                 </Icon>
             </IconStyle>
         </Style>
	<Folder>
		<name>UwamizakiDroneBase7gcp</name>
		<open>1</open>
		<Placemark>
			<name>base-GE</name>
			<styleUrl>#whtpin</styleUrl>
			<Point>
				<coordinates>128.529927781,27.352555558,0</coordinates>
			</Point>
		</Placemark>
		<Placemark>
			<name>a-rot</name>
			<styleUrl>#whtpin</styleUrl>
			<Point>
				<coordinates>128.529317242,27.353249608,0</coordinates>
			</Point>
		</Placemark>
		<Placemark>
			<name>b-rot</name>
			<styleUrl>#whtpin</styleUrl>
			<Point>
				<coordinates>128.529897150,27.351787300,0</coordinates>
			</Point>
		</Placemark>
		<Placemark>
			<name>c-rot</name>
			<styleUrl>#whtpin</styleUrl>
			<Point>
				<coordinates>128.530017250,27.353252369,0</coordinates>
			</Point>
		</Placemark>

                         ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
		
		<Placemark>
			<name>g-rot</name>
			<styleUrl>#whtpin</styleUrl>
			<Point>
				<coordinates>128.529735058,27.351815917,0</coordinates>
			</Point>
		</Placemark>
	</Folder>
</Document>
</kml>

  なお,他の色(白色も含む)の例を次にリストする。

http://maps.google.com/mapfiles/kml/pushpin/blue-pushpin.png
http://maps.google.com/mapfiles/kml/pushpin/grn-pushpin.png
http://maps.google.com/mapfiles/kml/pushpin/ltblu-pushpin.png
http://maps.google.com/mapfiles/kml/pushpin/pink-pushpin.png
http://maps.google.com/mapfiles/kml/pushpin/purple-pushpin.png
http://maps.google.com/mapfiles/kml/pushpin/red-pushpin.png
http://maps.google.com/mapfiles/kml/pushpin/wht-pushpin.png
http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png

以上, Nov.21,2023記, Dec.8, 2023修正。

4. Google特有の色指定 αBGR

 https://howtosfdc.cloud/salesforce/change-shape-color-kml-salesforce-maps/ このページがこのテーマでは直接的な情報である。すぐ上のKMLでは,<color>ff336699</color>,Brownとなるのであるが。

  • Red – ff0000ff
  • Yellow – ff00ffff
  • Blue – ffff0000
  • Green – ff00ff00
  • Purple – ff800080
  • Orange – ff0080ff
  • Brown – ff336699
  • Pink – ffff00ff

 この8桁は通常?とは異なる。Google Maps KML: 8-Digit Hex Code の質問と回答で見られるように,通常の光の三原色比記述順序RGBとは逆になっている。BGRなのである。上記のRedは,不透明度100% + blue 0 % + green 0 % + red 100%になっている。一般的には,Redは,ffff0000,つまり,不透明度100% + red 100% + green 0 % + blue 0 %と表現されるのであるが。

 通常,8桁の英数字はそれぞれ16進数で表現され,αrgbの配列をなす。α(アルファ)は,opacity(不透明度)である。ff-33-66-99のffは16進数で,15×16 + 15 = 255になる。不透明度は0〜255,つまり256(2^8)段階に分かれる。その最大値がffになる。RGBも同様だ。ffで不透明度は最大100%である。不透明度50%は,hex (adecimal) numeralでどう表現するか。256段階の半分,つまり128だ。128/16=8で余りゼロだから,80となる。透明はもちろん00だ。例えばGreenは,ff00ff00で,opacity 100%, red 0%, green 100%, blue 0%。

 アルファを除くRGBの配列の例として,HTML COLOR CODES
Get HTML color codes, Hex color codes, RGB and HSL values with our color picker, color chart and HTML color names. Let’s go!
 が参考になるかも知れない。もちろん,RGBをBGRに変更して使用しなければならない。

以上,Nov. 21, 2023記。




can’t go back to non-Facetime

今日,be氏の提案で,AppleのFacetimeで研究の打ち合わせをした。Apple機器同志でWi-Fiを介してのアプリ利用なので,LINEのように,コマーシャルに邪魔されることもない。

この環境はJobsによって2010年初夏に発表されたものなんだなあ。図表も目の前に提示できるのもありがたい。ぼくは今日はiPhoneでFaceTimeでやりとりしつつ,macでファイルを一緒にみながら,検討することができた。

iPhone や iPad で FaceTime を使う には利用の可能性が見える。

iPhoneとAndroidでFaceTimeができる!やり方や注意点は? では,アンドロイドとの対応も可能のようだ。「異なるOS間でのFaceTimeは便利なものの、FaceTimeアプリからリンクを生成する必要があるため、発信者は必ずiOSユーザーである必要があります。」,と,「iPhone側の電話番号がアンドロイドユーザー側に表示される」が,これぐらいなら,問題ない。kaさんも一緒にできるね。

以上,Nov. 12, 2023記。




ジム用海パン swim shorts in the gym

サーフパンツ(日本語)で泳ぐとお腹から水が入ってしまう。それがクリアできたのは,図1のRusty製のものであった。ヴィソラのスポーツデポでやっと2020年に出会えた。品番 Rus 910405 BLK L,国際スタンダード。胴回り84-94cmだった。やっとオーケー。4500円税抜き。今はもう販売されていないようだ。予備のものを含めてカルキでかなり傷んだ。この凄いのは胴回りに幅廣のゴム入り?のストリップが付け足されていて,これ効果で水が入らない,優れもの。腰回りがすごく心地よかった。

アマゾンサイト内で,ブランド名”Rusty”を使って,検索するのであるが,明示なく,Rustyから,外されている。Rusty本体のウェブサイトにも無い。仕方無く,図2の,[NARANNBU] ナランブ メンズ 水着 サーフパンツ オシャレ 通気 速乾 メッシュインナー 海パン 水陸両用 大きサイズ M_4L をあまり期待せずに注文した。[NARANNBU] メンズ 水着 サーフパンツ オシャレ 海パン 海水パンツ メッシュインナー 通気速乾 UVカット ボードショーツ 02ネイビー L 実際サイズLに相当 販売: Narannbu-JP商標登録第-6218030号。日本のメーカーなので,サイズ情報が詳細で親切である。廉価だ。

この,Narannbu,到着したのであるが,残念ながら図1のような腰回りのゴム入り部分は全くない。Rustyに比べると薄くてかなり軽い。もう,あまり泳がなくなったから,まあ,いいか。ゴム入り構造があるかどうかは,画像や説明ではわからない。Rusty2着はさきほど,ゴミ箱に捨てた。気にいってもメーカーがモデル廃棄してしまう。そういう時代ではある。人気が無かったのだろうなあ。

図1 Rusty 品番 Rus 910405 BLK L

図2 [NARANNBU] メンズ 水着 サーフパンツ L

以上,Nov. 8, 2023記。




macがUSBメモリーを受け付けない:一人相撲 Sonoma refusing a USB memory: several days’ one sided rivalry

ことの発端

 大容量20GBほどのファイルをmacからWindowsマシーンに移動するのに,USBメモリーを使うべくUSBメモリーをアダプター経由でmacに接続しようとしたら,次のようなメッセージが。

 重い3Dファイルの移動とダウンロードの,2.1 NTFS-3G for mac I-O DATA Could not mout,にその顛末を示している。
 この情報では,macOS14のセキュリティの向上で,macのセキュリティを下げる必要があるということになる。そんなこと,いちいち,できない,と考えて,現在の状況に対応したUSBドライブを購入しようとネット検索したが,みつからない。この検索を3日間ほど,思い出した時には,何度もトライしたのである。

困った挙げ句に

 今日はアップルケアに電話しようとしたが,サードパーティーの問題だと言われそうなので,アイオーデータ機器,今はI-O DATAか,このサイトで調べた。macOS 14 Sonoma 対応情報 を見ると,「「NTFS-3G for Mac I-O DATA」「Sync with for mac」は非対応です。(2023年10月19日追記)」などと在ったりする。USBメモリーに対してのものではないが。

 HDD/SSD/USBメモリーのフォーマット,のI-O DATAのページを見ると,「Windows/macOSでデータを共有する場合
Windowsを使って、『exFAT形式』でフォーマットしてください。※ macOSでは通常NTFS形式のHDD/SSDにデータを保存することはできません。」とあるのを見つける。

 当該USBメモリーは,NTFSフォーマット形式,なので,exFAT形式でフォーマットしたらどうなるかと,Windowsマシーンの80GB余りのファイル群が入っているが,Windowsマシーンにあるものなので,Windows環境でフォーマットしたいのですが? 【USBメモリー】,に従って(全く読んでないけど)実行した。初期化の前に,このUSBメモリーのプロパティをみると,全般ではファイルシステム: NTFS,ハードウェアではSAMSUNG, VendorCo Disc,となっている。
 当然ではあろうが,macによる読み書きができるようになった。感謝だなあ。
 初期化のあと,初期化前のzipファイルと更新した履歴テキストをコピーした。なお,NTFSフォーマットした経緯を次のページに記している。Windows 10 DocumentsのUSBメモリーへのバックアップ

以上,Oct. 27, 2023記。

 




Windows 10 DocumentsのUSBメモリーへのバックアップ backup of Windows 10 Documents into USB memory

はじめに

 macのタイムマシーン6TBは使用しているが,mouse製Windows 10ではバックアップを取っていない。ここ数年,3Dデータの処理やキンドル版発行のために,100GBほどの書類が溜まってきた。これが壊れると,研究がストップする。
 締め切り原稿を出して,急にこの件が気になって,256GBのUSBメモリーにバックアップすることにした。ところが,バックアップに余りに時間を要してしまって,結局,失敗が2回続いた。

メーカー: ‎Aeuln,対応OS: ‎mac_os, windows_me, Windows_xp, windows_2000, windows_vista, windows_7,その他 機能: ‎ポータブル,耐水性,防水,接続方式 :‎USB,サイズ: ‎256GB,梱包サイズ: ‎9.2 x 4.5 x 2.2 cm; 50 g, 製造元リファレンス: AEULN-856692, ASIN B09YCL4BY3, Amazon.co.jp での取り扱い開始日: 2022/1/4

1 昨日〜今日までの問題

 C:\Users\moto\Documentsの中の一つのフォルダー88GBのUSBへのバックアップに対して,所用時間17時間が出てきて驚いたのであるが,実際は,図2, 3のような質問が途中に出てきて,これに応えないとバックアップが進行しないので,つきっきりでも無い限り,完了しえない。そして,ファイルやフォルダーについて,何故かプロパティをコピーできなくても良いか,ってな質問が出て,コピーしないで次に進むことに,違和感もある。

図1 経過例

図2 確認画面例1

図3 確認画面2

「対処法」プロパティを含めずにこのファイルをコピーしますか?に良い情報があった。チャイナ系のサイトのように思う。プロパティを含めない,のは,まずいらしい。「このエラー「プロパティを含めずにこのファイルをコピーしますか?」は、ファイルシステムに起因している可能性があります。コピー先のディスクやパーティションがFATの場合、プロパティ付きでコピーや転送ができないファイルがあります。これは、NTFSファイルシステムはADSやファイル暗号化情報に関わるプロパティを保存できるのに対し、FATドライブでは保存できないためです。そして、「プロパティを含めずにこのファイルをコピーしますか?」というエラーが発生します。」とある。

2 USBメモリーのNTFS初期化,バックアップフォルダーの圧縮

 Windows10で,249GB-USBを選択して,フォーマットを選ぶと,ファイルシステム(F)として,exFAT(既定)になっていた。これはmacとWindows両方に対応しているが,FATの一つなので,この問題を生じていると考えられるので,NTFSで初期化を実施した(図4)。

 なお,Microsoftの情報 FAT、HPFS、NTFS ファイル システムの概要,も参照した。さらに,前述の,「対処法」プロパティを含めずにこのファイルをコピーしますか? では,エラー回避のために,ファイルを圧縮してコピーするとこの種の問題は生じないということで,フリーウェアの7-Zipを使って(右クリックで表示される),zipファイルを作成することにした。合計サイズ85GB298MB(図5)。パネル表示によれば,50分ほどかかるようだ。

図4 USBメモリーのNTFS初期化

図5 moto > win_moto_documentsフォルダーの7-Zipによるzip圧縮

図6 7-Zipで圧縮中

 15:06スタート。16:14には残り,2h30m。20:12終了。全4時間だった。元フォルダーは85.298GBだったが,27.564GBまで,つまり32%まで圧縮できた。出来上がったzipファイルをUSBメモリーにコピーした。コピーに要した時間を計測していないがプロパティーで見ると,20:14にスタート,20:49に終了。35分間。

3 WindowsマシーンとUSBメモリー

 Windowsマシーン内のwin_moto_documtnsフォルダーを7-Zipで圧縮して,USBメモリーにコピーした。両方に,同じメモ帳ファイルを置いた。ここにこれからコピーの履歴を記録してゆくことになる。

図7 Windowsマシーンのwin_moto_documtnsフォルダー

図8 USBメモリーのwin_moto_documtns.zip

おわりに

 図7には,win_moto_documents内のフォルダーが見られる。新たなファイルはそれぞれのフォルダーに収納する必要がある。そして履歴は共通のメモ帳に記録する必要がある。

以上,Sep. 30, 2023記。

追記

 馬鹿馬鹿だ。まだ一月経ってない作業なのに,この作業を完全に忘れていた。NTFSフォーマットでは,macが読めない。USBメモリーのケースに,Windows Openって,書いているし,レーベルにもWindows用,って書いている。また,exFATに戻して,再コピーした。バックアップ用の追加ファイルは,zip化してゆけば,exFATでもコピーができる。

以上,Oct. 27, 2023記。




Meshmixerで底抜け解消そして  closing up a big gap in the 3D mesh using Meshmixer, and

はじめに

 やっと,大饗石の底抜けを解消することができた。Autodesk Meshmixerはオープンソースである。ありがたい。一昨晩,寝る前の恒例のTV録画鑑賞に入る前に,出会ったのである。Meshmixerというぐらいだから,点群よりもメッシュに対応している。ぼくのイメージでは,これを使えばIllustratorのように穴の周辺のネットを引っ張ってブリッジをどんどん架けて,その隙間は一気に埋められるというような印象があって,実際にやろうとしたが全然そうはならない。
 とはいえ,3Dスキャンで得たオブジェクトのデコボコを滑らかにすると行ったことは手作業でできる。CloudCompareやMeshLabでは到底できないことである。iPhoneLiDARで作成した3Dスキャンオブジェクトのネットが綻びているのは普通のことで,この解消はCloudCompareではできず,MeshLabの役目ではあった。MeshLabでコマンドを実行するにしても,パラメータの役割が説明を読んでも理解できず,無力感が襲うのであるが,Meshmixerを使っていて,そういう感覚は全く生まれず,実行プロセスが目の前に見えて,何とも頼もしい。これを無料で提供しているAutodesk恐るべしである。このアプリの目的は,3Dプリンター用のファイルを作成することにあるが,残り少ない人生,この分野には到底入れない。

1 Autodesk Meshmixer

Meshmixer 3.5 is now available ! https://meshmixer.com/download.html

Japanese Installer Windows 3.5,System Requirements Meshmixer 3.5 Microsoft Windows 7 or later 4GB system RAM Release April 17, 2018.

Wikipedia:  スカルプトモデラー。 Sculptor modeler,いわば彫像や塑像を作るソフトだろうか。メッシュの合成、メッシュの伸長・回転、メッシュ選択のスムース化などの機能を持つ。3Dプリンタ向けに、床面上への複数オブジェクトの詰め込み (Layout/Packing Tool)、効率的な支柱構造を自動的に追加する機能が追加されている。開発終了。

————————————————
Autodesk Meshmixer UI解説 -2つの3DデータをMIXする-

Autodesk Meshmixerは無料で公開されているスカルプ系の3Dモデリングソフト。簡単な操作で加工ブラシを使用して、粘土を扱うようにモデル表面を変形することができ,3Dスキャンデータの修復や3Dオブジェクトデータの合成,3Dプリンターのデータ作成を気軽に行うことが可能。
ここでは、UIの解説と、2つの3DデータをMIXする方法を解説する,とある。

2 3D底抜け解消が実現

当方の,C:/Users/moto/Documents/win_moto_documents/win_3d_scan/大饗石metascan_LiDAR/大饗石from_iPhone/onlyOoaeishi_closeHole.mlp というMeshLabファイルを使う。

 左のメニューアイコンで実行する。上のメニューからでも可能。図1は大饗石objをインポートしたところで,次にメッシュの綻びをチェックすべく,解析 > 検証を選択直後の様子が図2である。大饗石の底抜けの部分には赤い縁取りが見られるが,銀色の表面の部分の穴がチェックされているようだ。図3は「すべて自動修復」ボタンを押した後の画面である。結構の時間がかかったように思う。

図1 大饗石のobjファイルをimportした

図2 解析 > 検証

図3 「すべて自動修復」の実行後 

 図4では,解析 > ソリッド作成,を実行しているところである。かなりの時間を要した。図5は完了した際の画面で,ソリッド作成のパネルが現れて,細かなパラメータの設定ができる。ぼくはこの結果に満足して,下の「適用」のボタンをクリックして,図6の表示を得た。とにかく,永らく切望していた大饗石オブジェクトの頑丈な底ができている。ソリッドの意味がわからない。蓋ができても中味は空っぽだ。

図4 解析 > ソリッド作成

図5 ソリッド作成直後

図6 適用,の直後

 図7は,インポートしたオブジェクトだ。パネルでその選択をしている。図8はソリッド化されたオブジェクトだ。このオブジェクトを選んだ状態で,エキスポートした。図9では,Mesh_step3_obj_mixer2.objとした。この前に,Mesh_step3_obj_mixer2.mixで全体を保存している。

図7 Mesh_step3.obj 表示

図8 Mesh_step3.obj(ソリッド)表示

図9 エキスポート: Mesh_step3_obj_mixer2.obj

以上,0:20,Sep. 23, 2023記。

3 体積をCloudCompareで求めるーMeshmixerで穴埋め,平坦化

 CloudCompareに取り込んで,Edit > Mesh > Measure volume,を実行。V= 37.7436,
mesh has hole。またこのメッセージだ。図10ではwireframe表示して観察したが,穴は見えないなあ。面積も求めた(図11)。

図10 CloudCompareで体積を求めたが

図11 面積も

 図12は,Meshmixerで,解析 > 検証 > すべて自動修復,の実行後。この前に,沢山の穴の表示があったが,撮影を忘れた。ソリッド化を実行した後,改めて,解析 > 検証 > すべて自動修復,を実行する必要があった,ということらしい。今後はそうしたい。

図12 自動修復後

図13 ブラシで北壁をフラット化(途中)

図14 ブラシで北壁をフラット化済

 図13, 14は,スカルプトsculpt(動詞しかないが) > ボリューム選択 > フラット化 flatten,を北壁について実行してゆく過程を示している。繰り返すとどんどんフラット化がすすむ。元々のオブジェクトはフラット化後の雰囲気に似ていたが,作業過程を進めて行く過程でボコボコになったので,この種の作業そのものが体積計算の正確度を下げるものでは無いと感じている。
 他の面のフラット化も記録?のために,鬱陶しいだろうが以下に示す。

図15 南面のフラット化実行前

図16 南面のフラット化実行後

図17 頂面のフラット化実行前

図18 頂面のフラット化実行後

図19 東面のフラット化実行前

図20 東面のフラット化実行後

図21 西面のフラット化実行前

図22 西面のフラット化実行後

図23 底面のフラット化実行前

図24 底面のフラット化実行後

図25 西北西付近のフラット化実行前

図26 西北西付近のフラット化実行後

 以上の作業がholeを埋める効果があるとは思えないが,外から見て穴のように見える部分がほぼ無くなって,実体に近くなっていると感じている。
 もう一度,解析 > 検証 > すべて自動修復。穴なし。終了。
 名前を付けて保存。Mesh_step3_obj_mixer3.mix,エキスポート
Mesh_step3_obj_mixer3.obj だ。

4 体積をCloudCompareで求めるー警告メッセージから回避できた

 Mesh_step3_obj_mixer3.obj をCloudCompareで開いて,図27のDB Treeに見られるようにメッシュを選択して,Edit > Mesh > Measure volume,実行。計算結果は,V=37.6635。警告メッセージが無くなった。成功だ。Edit > Mesh > Measure surface,実行,S=69.7372。図27最下部のコンソールに見える。

図27 objファイルから体積と面積が正しく求められた

 点群verticesをPLYで保存する前が図28である。

図28 objファイルのverticesを選択して

5 OBJファイルの点群verticesから2.5D volume 計算

 上記PLYファイルをCloudCompareで開いてcloudを選択し,bottom view(図29)。点群対象のcompute 2.5D volume分析のために,上下に点群を分割したい。外周の一番の出っ張りをトレースしてsegmentationを実施したいと考えた。segmentationはsegment in or outを実行をしないとオブジェクトの移動などができないので,1回で分割しなければならない,と呆けで決めつけてしまった。それで,図30のように,set bottomにしてその縁辺で切り取るしか,方法はない,と考えたのである。
 図31には,ポリゴンの選択を完了した様子(緑色細線の閉曲線)が見える。

図29 PLYファイルを開いてcloudを選択

図30 set bottomでsegmentationのトライ

図31 ポリゴンツールによる選択完了

 図32はsegment outを実行したところで,図31のポリゴンツールで閉曲線を作成した筈であるが,囲んだ範囲の外側が図32のcloudとなったのである。図33ではconfirmした結果で,DB Treeのremainingとsegmentedの両方が選択されている。図34はこのオブジェクトのleft side viewで,切り口は見えない。まだ事態が掴めない。

図32 segment out 実行

図 33 confirm segmentation

図34 left side view

 図35で見ると,segmentedは欲しいcloudの筈なのだが不要な方がそうなっている。図36, 37はremainingのトップからとボタムから見たcloudだ。

図35 segmentedのtop view

図36 remaining のtop view

図37 remainingのbottom view

 図38のfront viewを見ると,オブジェクトが図35のcloud抜きなので,完全に分離されている。もしこのtopとbottomを使う場合,点群remainingに,上下の点群が一つの点群エンティティーになっているので,分割する必要があるが,それはできないっ,とその時は思ったのである。
 意味ないのだけど,remainingとsegmentedの両cloudを選択して,mergeしようとしているのが図39である。図40にはmergeの結果が見える。赤い点群はsegmentedのcloudである。まあ,全くの失敗なのでdeleted。お試しだ。

図38 remainingは完全に2分割されている

図39 Mergeを実行する直前

図40 mergeの結果

 練習2だ。図41はtop view。図42はsegment in。図43で見ると,remainingだけ表示しているが,不連続で断裂してる。回転などして3D構造を見ると,手前の壁だけでなく,奥の壁も削除されているようにも。bottom viewでみて,連続性を考慮して,もう一度トライしてみよう。deleted。

図41 top view

図42 segment in

図43 confirm, remainingを表示

 また読み込んだ。どうも試行錯誤で,なんかわかったような。図44のようにbottom viewにして,図45のように,適当にsegmentした。そして,segment out(図46)。

図44 bottom view

図45 適当にsegmentする

図46 segment out

 図47のようにポリゴンで選んで,segment outしたら,選んだ範囲以外のcloudが残る形だ。そういえば,そうだよなあ。この結果をキャンセル(ツールの✖️)。

図47 底面も頂面も削除されている

図48 見える範囲で適当に縁辺だけ

図49 segment out どうも奥も切れている

 図50は開始前,図51ではsegment out。図52はconfirm前。

図50  開始前

図51 segment out

図52 confirm前

 図53, 54, 55。試行錯誤。ceilとgroundになる点群の分割を考えている。少しずつ,segment outを繰り返している。

図53 confirm前

図54 confirm前 

図55 こんなものかなあ

 図56で,複数回のsegment outに対して,confirm segmentation実行した。図57は,segmentedだけを表示。図58ではremainingだけを表示した。これがsetment outの結果でsegmented outされた「残り」であって,感覚的には,削除を繰り返してきた点群がいわばメモリー内でマージされていたのである。

図56 confirm segmentation実行

図57 segmentedの表示

図58 remainingの表示

 toolでの点群体積計算で,Ceilがsegmentedで,groundがremainingに対応することになるだろう。図60では両cloudを選んで,Tools > Volume > 2.5Dvolumeを実行することになる。図61を見ると,groundに対応するcloudはremainingで,ceilに対応するcloudはsegmentedになっているので,いい感じだ。ただ,At least one of the cloud is sparse! You should fill the empty cells… という警告が出ている。 step: 0.03(3 cm)。図62との違いはEmpty Cellsをleave emptyにしているかinterpolateにしているかの違いで体積値が変わる。

図60 両cloudを選んで

図61 UpdateでVolume 25.879

図62 UpdateでVolume 21.376

 Calculated volume in 2.5 d changes with grid step size bug? を参照のこと。それで,図63では,両点群のEmpty cells: interpolate,Grid step 0.10(10cm)にした。かなり粗いグリッドだが,Volume 32.205,Surface 18.750,Matching cells: 81.9%,となった。警告が出なくなった。図64のように,Export grid as a cloudのボタンをクリックすると,シーンにカラーによる高度頻度分布図がHeight deiffernce raster(0.1)として出力されている。図64のパネルの最下部でOKを押すと,図65のように,パネルが消えてシーンには高度頻度分布図が配置されている。

図63 Grid step 0.10(10cm)など

図64 Export grid as a cloudを選択

図65 パネルが消えて高度頻度分布図がシーンに配置されているのが見える

 図66に示した結果が最適値である。grid step 0.200,Volume 32.441, Matching cells: 82.4%。gridが粗いのでもちろん警告は出ていない

図66 最適値

6 OBJファイルの体積計算結果にもう少し拘ってみたい

 以上から,メッシュオブジェクトと点群オブジェクトの体積計算値をその限界精度から考えると,メッシュオブジェクトの計算,Edit > Mesh > Measure volume,の結果,V=37.6635を採用するのが,妥当ということになる。点群オブジェクトの計算過程を見ると粗雑になっている。とはいえ,両値は,かけ離れていないし,点群の値はメッシュの計算結果をサポートしているとも考えられる。
 体積計算にもう少し拘りたいと思う。一つは,点群密度の向上であり,もう一つは手作業での四面体分割法での計算である。

以上,0:35,Sep. 24, 2023記。

 ぼくにとっては,このウェブページを書いた当日に寝ながら,考えて,新たな修正原稿をこの月曜日の事務スタッフ出勤前に,Google Driveにアップロードするのが,ベストだと考えた。Meshmixerによるソリッド化の成果を生かすことにした。

 で,このウェブページが完結できていないので,いま,その後片付けをしたいと思う。すでに述べてきたことであるが,点群のメッシュ化,さらに点群への変換を実行する。その手法は,すでに述べてきたことであるが,

点群PLYのエンティティーを選択して,
 ① Edit > Normals > Compute(デフォルト値)を実行すると,Octreeがこの下位に作成される。
 ② 同エンティティーを選択して,Edit > Mesh > Delaunay2.5D(best fitting plane)を実行。この直後にnormalsに関するメッセージが出るが触らずにYes。その結果,対象エンティティの下位でOctreeと同階層に隙間の無いMeshエンティティー(メッシュアイコンが付加されている)が作成される。
 ③ このメッシュエンティティーを選択して,Edit > Mesh > Sample PointsでデフォルトでOK。デフォルトで百万点にしていたので作成されるエンティティーも1,000,000点になる。
 このプロセスを実行する前の筆者が使った点群PLYは2万点であったから,Points数は50倍になっている。なおこのエンティティーは元の点群PLYと同じ階層に生成される。

図67では点群cloud 50,312 pointsである。

図67 Mesh_step3_obj_mixer3.CCvertices-Cloud segmented

図68は②実行後で,Octreeとともに,meshエンティティーが形成されている。

図68 ②の実行後

図69は,③の実行後で,Mesh_step3_obj_mixer3.CCvertices-Cloud segmented.mesh.sampled を表示。点群cloudのpoint数は,百万点になった。

図69 ③の実行後

図70はボタムのremaining対応を表示している。①〜③実行済みで,これも,point数を百万点にしている。

図70 ボタムのremaining top view

図71のように,両cloudを選択している。

図71 両cloudを選択。

Tools > Volume > Compute 2.5D volume,を実行した。自動で,Ground: remaining 底
Ceil: segmented 地上部,Grid step 0.005 5mmだった。警告なし。計算結果は,Volume 31.825,Surface 17.921,Matching cells 81.6。

図72 step: 0.005

Grid step を0.02にしてみよう。Volume 31.865,Surface 18.050,Matching cells 81.7。

図72 step: 0.02

Grid step 0.005 5mmだ。Height difference raster (0.005)北壁のポイント密度が少ない。

図73 パネル表示を外した

 以上の結果を踏まえて,文学論集Vol. 73-3の原稿に反映している。以下,それを次に。

7 フィールド科学のためのアップルLiDAR測量 Part 2 Ⅴ.4 Meshmixerで大饗石の底抜けを解消して体積を求める

 文学論集Vol. 73, No. 3(発行は2023年末ぐらいか)

 Meshmixer 3.5 is now available ![i] からこのアプリをダウンロードできる。筆者が用意していた大饗石オブジェクトだけのMeshLabファイルからobjファイルを抽出してMeshmixerにインポートした。メッシュの綻びをチェックすべく,解析 > 検証,を選んだ。かなりの綻びがシーンに表示される。「すべて自動修復」ボタンを押した。実行にかなりの時間を要した。MeshLabでこの種の作業を実施してきたファイルであったが,Meshmixerからすると今だ綻びがあるようだ。Meshmixerは,ビジュアルに簡便に,この種の作業が実施できる。これは驚きであった。

 その上で,解析 > ソリッド作成,を実行した。これも時間を要したが,図33(a)のように見事に底抜けが解消した。しかもMeshLabでのポアッソン再建の如く異様に膨らむこともなく,しっかりとした薄皮一枚で底抜けが解消されたのである。


[i] https://meshmixer.com/download.html

図33 Meshmixerによるソリッド化とフラット化

 Meshmixerは,編集過程などでの3Dオブジェクトの変形を修復する機能を持っている。ここではブラシのフラット化ツールをつかって修正した結果を図33(b),(c)に示している。(b)は(a)の新たに付加された底面をフラット化ツールを使って滑らかにしたbottom viewの結果である。(c)は大饗石地上部の東壁および周辺をフラット化したもので,これはフラット化前の(a)右手突出部に対応している。

 なお,このような作業を経たファイルはCloudCompareで開く前に,Meshmixerで,解析 > 検証 > すべて自動修復,を改めて実行しなければならない。

Ⅴ.4.a 大饗石objファイルのメッシュ体積計算

 このobjファイルをCloudCompareで開いて,Edit > Mesh > Measure volume及び > Measure surfaceを実行すると,図34(a)のように,V = 37.6635(警告メッセージなし),S = 69.7372を得ることができた。

Ⅴ.4.b 大饗石objファイルの点群verticesから2.5D volume計算

 objメッシュファイルには点群verticesが含まれており,これを使うと点群対応の2.5D volume計算が可能になる。2.5D volume計算は,Ceil(シール,天井面)にあたる点群とGround(底面)にあたる点群の間の3D空間を垂直方向の小さな立方体で構成される正四角柱で分割して,CeilとGroundの間の立方体を数える手法である。

図34 CloudCompareでメッシュ体積面積計算と点群体積計算の準備

 この手法では,objファイルの点群verticesを,3D構造を考慮して,Ceil点群とGround点群に分割する必要があるが,で示した分割ツールを使って,Ceil点群とGround点群として,それぞれsegmented点群とremaining点群を割り当てることになるのである。図34(b)では分割できた両点群を選んで表示しているので,シーンには⋯⋯segmented⋯⋯と⋯⋯remaining⋯⋯の名称が見える。白っぽく広い面は底面の部分であって,Ground点群に対応している。

図35 点群2.5D volume計算

 Ceil点群とGround点群それぞれを構成する点数は,この大饗石の例ではそれぞれ5万点,2万点ほどなので,Ⅲ.4 計算結果の比較,で述べた「点群ファイルPLYからメッシュに変換しさらに点群に変換したエンティティー」(脚注[i]に説明)の手法で,それぞれ百万点ほどに増やして,図34(b)のようにCceilとGgroundの両点群を選択して,Tools >Volume > Compute 2.5D volumeを実行した。実行結果を図35に示している。正四角柱の断面は正方形であるがその一辺をCloudCompareではGridのstepといい,図35のものはstep=0.005mとしている。図35(a)は計算結果のパネルを示していて,この結果の数値がみえるように切り取って拡大している。Volume: 31.825㎥,Surface: 17.921㎡,Matching cells: 81.6%を示している。なお,Compute 2.5D volumeが算出するSurfaceは,前述のようにオブジェクトの(Z軸に垂直な)平面図の面積を示しているようだ。このパネル下部のOKボタンを押すと,パネル表示が消えて,図35(b)が現れる。点群密度は,反射光量を反映して北壁は南壁に比べるとかなり低い。大饗石の標高分布別に赤色と緑色の間で段彩(原図はカラー)されており,最下部付近の緑色の点群の塊はGround cloudに相当するものである。

 なお,上述のように点群の点数を増やさない場合,step: 0.1より小さくすると,赤字でAt least one of the cloud is sparse! You should fill the empty cells..という警告が現れる。Ⅴ.4.aのメッシュの体積は前述のように37.6635㎥であった。点群の体積は31.825㎥である。メッシュの体積は,図34(a)のメッシュ拡大図に見えるようにメッシュエンティティーは三角面triangle facesからなり,適当な原点から三角面それぞれの頂点に側稜が伸びて,オブジェクトは三角錐で埋められる。それぞれの三角錐の体積の総和がメッシュファイルの体積となる。前述のように2.5D volume法はこのメッシュ法に比べると粗雑になっているので,メッシュ法の体積V = 37.6635㎥を採用することになる。土木工事などで工事の前後の土量の移動などの場合は,適用が2.5D volume法に限定されるので,もちろん,使用価値はある。


[i] 点群PLYのエンティティーを選択して,① Edit > Normals > Compute(デフォルト値)を実行すると,Octreeがこの下位に作成される。② 同エンティティーを選択して,Edit > Mesh > Delaunay2.5D(best fitting plane)を実行。この直後にnormalsに関するメッセージが出るが触らずにYes。その結果,対象エンティティの下位でOctreeと同階層に隙間の無いMeshエンティティー(メッシュアイコンが付加されている)が作成される。③ このメッシュエンティティーを選択して,Edit > Mesh > Sample PointsでデフォルトでOK。デフォルトで百万点にしていたので作成されるエンティティーも1,000,000点になる。このプロセスを実行する前の筆者が使った点群PLYは2万点であったから,Points数は50倍になっている。なおこのエンティティーは元の点群PLYと同じ階層に生成される。


図36 Surfaceを構成するセルマップ

 なお,図35(a)のSurface値:17.921の算出法について確認したい。step値は図35(a)では0.005で図で表現しにくいので,step: 0.200として図36に示す。ここでは,V:32.441,S:19.840, Matching cells: 82.4%になる。CeilとGroundの両cloudで算出する場合,Surfaceの計算式にMatching cells(%)値は関与しない。

以上,Sep. 29, 2023記




ChatGPTを使って3Dスキャンオブジェクトの体積を求める calculating volume of 3D scanned object using ChatGPT

はじめに

 数日前,Sep. 18, 2023,長男ファミリーが立ち寄って,ぼくがエルゼビアに論文投稿する準備をしていることを知っていて,ChatGPT,を紹介してくれた。マスコミで盛んに取り上げられているが,ほぼ関心がなかった。しかし,実際に使ってみて,かなり賢いことがわかった。

 OpenAIというイーロンマスクなどが出資し,Microsoftが100億ドルの追加出資をした企業が開発したものだ。ChatGPTを検索すると,

質問:Is Japanese edition of ChatGPT original or translation of English ChatGPT?

As of my last knowledge update in September 2021, OpenAI had not released an official Japanese edition of ChatGPT. However, it’s important to note that advancements and updates may have occurred since then.

If a Japanese edition of ChatGPT exists or has been released since my last update, it could be an adaptation or translation of the original English ChatGPT. The translation process involves translating the underlying model, fine-tuning it using Japanese text, and potentially making cultural or linguistic adjustments to ensure the responses are appropriate and natural in a Japanese context.

For the most current and accurate information about a Japanese edition of ChatGPT, I recommend visiting the OpenAI website or referring to official updates and announcements from OpenAI or other relevant sources.

というようなことである。

iPhoneとiPadにも,ChatGPTをインストールした。Plusにすると,月3000円だ。他のサイトの解説では,iOSで質問−回答,の履歴は,macと共有できるという情報があった。mac,iPhone, iPadのそれぞれから発信して,無事,共有することができた。history listのタイトルに必ずしも一貫性が無いので,見出しを開いて確認する必要がある。iOSの良さは,口頭で話すことでテキストに変換してくれることである。英語をより理解してくれるという印象もあるが,日本語の方を理解する場合もある。ぼくの英語?の発音が問題なのだろうね。

macの純正「メモ」memo エディターはiPhoneでもiPadでもiCloudを通じて共有できるので,研究の補助ツールとして使えるように思う。ChatGPTの書式はかなり扱い難いものなので,メモエディターの存在は大きい。

1 四面体に分割して体積を求める

 文学論集Vol. 73, No. 3の『フィールド科学のためのアップルLiDAR測量 Part 2』の「Ⅴ.4 四面体に分割して体積を求める」(Sep. 19, 2023投稿)のコピーをここに示す。ChatGPTを初めて使った報告の一部である。
————————————————
ChatGPTを本日初めて使い,” Do you calculate the volume of a 3D mesh obj file?”って質問すると,多少長いが示唆に富む回答があった。

Load the OBJ file → Triangulate the Faces → Calculate Tetrahedral Volume → Sum Up the Tetrahedral Volumes.

このモデルを手作業で実行した。このモデルではどんな形態でも適応が可能ではあるが大饗石はほぼ一つの六面体と一つの五面体で構成されている。 図33のα)は南壁面,β)は北壁面,γ)は東と西の壁面を示している。西壁面は,いわば新幹線先頭車両の鼻のように,大饗石本体の六面体に四角錐が突出しているようで,こういったイメージの元で,9の9点の座標値を採取した。つまり,CloudCompareの上段メニューアイコン群の左から4番目のアイコン Point list picking(9点)を実行した。図33にその地点を示している。六面体内の四面体構成を図33δ)左手に示す。5個の四面体は,aeと命名しそれらの頂点に対応する頂点にaeを記している。西壁面の五面体は図33δ)右手に示すがf,g二つの四面体で構成される。9の9点の座標値は,(x, y, z)の配列で,次の表5に示している。

図33 7個の四面体から大饗石の体積を求める
Pt. No. x y z Pt. No. x y z
1 1.28346 0.49280 0.24606 2 0.99729 0.80558 1.92038
3 -1.72137 -2.78218 1.92664 4 -1.72197 -3.42626 1.12020
5 0.01142 3.18688 -0.39475 6 -0.72284 2.59407 1.88495
7 -3.58718 -1.48008 1.67906 8 -3.21799 -1.94289 -0.44899
9 -3.44079 -3.19397 1.38024      
表5 大饗石の四面体分割のための座標点

一つの四面体と一つの五面体での9点の座標点との関係は,例えば六面体の中央に位置する四面体aでは,座標点4,5,1,2からなる。一つの四面体を構成する4点の座標点は,(x1, y1, z1), (x2, y2, z2), (x3, y3, z3), (x4, y4, z4)と表現できる。ChatGPTの回答の行列式は,次の式のように計算できるので,Microsoft Excelにこの式を組み込むことで,それぞれの四面体の体積を求めることができるのである。

=abs(((x4-x1)*((y2-y1)*(z3-z1)-(z2-z1)*(y3-y11))+(y4-y1)*((z2-z1)*(x3-x1)-(x2-x1)*(z3-z1))+(z4-z1)*((x2-x1)*(y3-y1)-(y2-y1)*(x3-x1)))/6)

それぞれの四面体の体積は,a=6.4159, b=1.4489, c=3.8164, d=4.6968, e=5.3058, f=1.0708, g=0.6273であり,合計23.38㎥となる。これが大饗石の堆積の近似値となる。

なお,大饗石の3Dファイルから算出された体積のうち最大値は,ほぼ53㎥であった。これは,3D点群PLYファイルに対してCloudCompareのTools >Volume > Compute 2.5D volumeを実行することによって得られたもので,大饗石の最低標高値の水平面から大饗石表面までの体積になっている。最低値は,ほぼ35㎥であった。点群系のPLYファイルをメッシュ化してメッシュの欠陥を埋めたエンティティーにCloudCompareのEdit > Mesh > Measure Volumeを実行した結果や,Blenderにメッシュ系のUSDZを取り込んで,OBJファイルに変換してMeshLabで穴埋め処理したエンティティーをBlenderのadd-onを使って求めた結果と一致している。この計算過程は,LiDARスキャンオブジェクトの底を塞ぐ[i],や,Blenderでusdzファイルをobjファイルに変換して体積を求める[ii],などに示している。


[i] https://motochan.info/wp/2023/09/06/closing-the-bottom-hole-of-a-lidar-scanned-object/

[ii] https://motochan.info/wp/wp-admin/post.php?post=23826&action=edit

2 ChatGPTアドバイス: MeshLabやMeshmixerを使って3Dスキャンオブジェクトの底抜けを解消する???

 なお,ChatGPTの情報はmemoに保存したものである。ChatGPTそのものの表示をコピペすると多少問題が出るので,このmemoエディターを利用するのは有効だと感じている。このChatGPTの情報を使って,次章でトライしてみたいと思っている。

2.1 質問: 3D scanned objects inevitablly have a big hole at the bottom. Please show me how to close up it?

ChatGPT回答: 

When you 3D scan an object, it’s common to have holes or gaps in the mesh, especially at the bottom or other areas where the scanning process might not capture data accurately. Closing these holes and creating a watertight mesh is important for 3D printing or further digital modeling. Here’s a step-by-step guide to closing up holes in a 3D scanned mesh:

  • Use 3D Modeling Software:
  • Open the 3D scanning file in a 3D modeling software that allows mesh editing, such as Blender, Autodesk Meshmixer, or MeshLab.(全部オープンソース,Meshmixerは数日前にインストールした。3Dプリンター用の簡易版で使い易そうな印象だ)
  • Identify the Hole:
  • Identify the hole or gaps in the mesh that need to be closed. You can usually visualize these areas by rotating and inspecting the model in the software.
  • Select the Hole:
  • Use the selection tools in the software to select the area around the hole. In most programs, you can click and drag to select vertices, edges, or faces.(MeshLabにこういう機能が欲しいと思っていたがこの手法などにアクセスできていない)
  • Fill the Hole:
  • Once you’ve selected the hole, use the software’s mesh editing tools to fill the hole. This may be called “Fill Hole” or “Bridge Edge Loops” in different software. The tool will automatically generate new geometry to close the gap.
  • Adjust and Smooth:
  • After filling the hole, you may need to adjust the new geometry to match the surrounding surface. Use tools like sculpting, smoothing, or vertex manipulation to refine the area and make it seamless.
  • Check for Watertightness:
  • Ensure the mesh is watertight by using the software’s tools to check for holes, leaks, or non-manifold geometry. This ensures there are no remaining gaps in the mesh.
  • Save the Edited Mesh:
  • Save the edited mesh as a new file to preserve the changes without altering the original scanned data.
  • Export for Further Use:
  • If you intend to use the mesh for 3D printing or other purposes, export the edited and closed mesh in a suitable file format such as STL or OBJ.
  • Validate with 3D Printing Software:
  • If you plan to 3D print the model, import the closed mesh into 3D printing software to confirm that it’s now watertight and ready for printing.

Remember, the exact steps and tools you use may vary based on the 3D modeling software you’re using, but the general process remains similar. Additionally, practice and experimentation will help you become proficient in closing holes and editing 3D scanned meshes effectively.

Regenerate(これをクリックすることで,同じ質問で,どうも別の回答を求めることができるようだ)

流れは理解できる。それでは,Autodesk Meshmixerでどうすればいいのか,次に聞いてみた。

2.2 User 質問: As you know that 3D scanned objects have big holes in the meshes. Please show me how to mend them using Autodesk Meshmixer.

ChatGPT回答:

Certainly! Autodesk Meshmixer is a powerful tool for working with 3D meshes, including repairing holes. Follow these steps to mend holes in 3D scanned objects using Autodesk Meshmixer:

 ってなことで続くのであるが,木枯らしが吹いていた。前述のように,ChatGPTを本日初めて使いー” Do you calculate the volume of a 3D mesh obj file?”ーって質問すると,多少長いが示唆に富む回答があった,と書いていたがすでにぼくの頭の中にその世界があったから,ぼくが反応できたのであって,ChatGPTを使うことで,新たな世界が展開する訳ではない。ChatGPTに具体的な質問をすると,一応返ってくるのであるが,どうでもいい内容で,実際のプロセスを示してくれない。これは,アプリのユーザーマニュアルが役に立たない現象と似ているかも知れない。ChatGPTはこういった分野では使えない。自らの論文の英語チェックには,役立つのではと,今だ期待をしはしている。

以上,Sep. 22, 2023記。




Blenderでusdzファイルをobjファイルに変換して体積を求める converting usdz into obj by Blender and calculating volume

はじめに

 この3DアプリBlenderにはずっと気になっていた。後期高齢者に入る直前にどうかと思うが。

1 ダウンロード

 Download Blender 3.6.2 LTS からダウンロードしよう。LTSは,long-term stabilityの意で,安定版だ。donationのボタンを押したがクレジットの深い情報まで取得されるので一応,回避した。乗っ取られている可能性を感じたからだ。ある程度使ってからdonationしよう。ただ,回避しても,ダウンロードがもう始まっている。

 mac版もあるがWindows版だけと今のところは思っている。両方を行き来するのはこの種のアプリでは不具合が生じる可能性が高いからである。widows-x64だ。

 blender-Blender, -Libraries というパスになっている。13:53, Sep. 13, 2023。Program Files\Blender Foundation\Blender 3.6\ の,blender.exeとblender-lancher.exeが主要なアプリと思われる。いずれも更新日時は,1:45, 2023/08/17,となっている。新しい−。後者をピン留めした。開くと,英語版が現れる。図1は一応,日本語を選んだ。最初の主要なメニューや基本的ツールだけが日本語表記されているもののようだ。ある程度慣れてきたら,英語表記に替えようとは思っている。

図1 blender lancherを立ち上げる

2 usdzファイルをobjファイルに変換する前に

 3章のコンテンツに会って,実はBlenderをインストールする気になった。簡単には行けない場所でMetascanで3DスキャンしてProを月購入してファイル出力をしたのであるが,fbx, ply, xyz.zipに限っていた。今,objが欲しくなって,iPhone 12 Proに入っている3Dオブジェクトをobjで出力したく,月契約をするつもりであった。しかし,このコンテンツを見つけたのである。
 mouseWindowsマシーン中のDocuments\win_moto_documentsフォルダをぼくのairmacとファイル共有設定をした。WindowsとMacの間でファイル共有をする方法 を参考にした。これでmacとのやり取りが楽になる。元々,ファイル共有設定はしていたのであるが,フォルダ単位の登録をしていなかったので。
 iPhone 12 Proのmetascanアプリを開いて大饗石のUSDZファイルをAIRmacにダウンロードして,Documents\win_moto_documents\win_3d_scan\大饗石metascan_LiDAR\metascan_Blend_objフォルダーに保存したが,MeshLabの場合のように,ファイル名に2バイト文字が入っているとトラブルの元になるので,metascan_20221121-1440_大饗石周辺のロックフォール.usdzを,metascan_20221121-1440_Ooaeishi-usdz.usdzとした。

3 MetascanのUSDファイルをBlenderでOBJファイルに変換する

3.1 USDZ ファイルの解凍

 MetascanのUSDファイルをBlenderでOBJファイルに変換する を参考にしている。ファイル名の拡張子,usdz,を,zip,に書き換えると,zip形式の圧縮フォルダーになる。
 で,ウィンドウズはzip解凍ソフトがWindows10に組み込まれていると思っていたけど,そうじゃないことを今,発見。macでは右クリックで解凍できるのに。有料のWinZipをMicrosoftは推奨している。おかしいと思って調べたら,7-zipがいいようだ。どうにも変なのだが,自分でシステムの名称を調べる必要があるらしい。Windows 10 Homeだから,たぶん,7-Zip (64bit版)だなあ。

 7-Zip for Windows からダウンロードできる。Downloadsフォルダを開くと,7z2301-64x.exeがある。これをダブルクリックすると,Destination folder: C:\Program Files\7-Zip\と出るので,Install。7-Zipフォルダーには,exeファイルが幾つかあるが,7z.exeが基本的なものであろう。この段階で右クリックで使えるようになっている。

 図2のように,解凍したいzipファイルを選んで,右クリックして,7-Zip/”解凍対象の拡張子抜きのファイル名”に展開,を選ぶ。

図2  圧縮解凍ソフトの7zipが右クリックで使える

 解凍されたフォルダの中味を見ると,0\フォルダーと元のusdzのファイル名に更にいわば文字化けが並んで拡張子はusdcとなっている。図3は0\フォルダを開いて見たものである。texture_0.jpeg〜texture_21.jpegという22枚のjpegファイルがある。思えば,FBXファイルがこの枚数のmeshからなっていることと良く符合している。

図3 0\フォルダー内の22個のイメージ

3.2 USDCファイルのインポート(元の記述をぼく用に変更した)

 Blender の File -> Import -> Universal Scene Description (.usd, .usdc, .usda) から USDC ファイルだけでなく,テキスチャーを共にインポートすることになる。
Blender File View ウィンドウで目的の USDC ファイルを選択し、またテクスチャも一緒に読み込むため画面の右ペーンの,Import All materials(これにはディフォルトでは✓が入っていない), Import USD Preview(これにはディフォルトで✓が入っている), Set Material Blend (これにもディフォルトで✓が入っている)を有効にして、Import USD ボタンを押す。ボタンを押す前が,図4である。

図4 Blender File View ウィンドウでの入力

 読み込んだ直後の画面が図5である。この時点では, 3D モデルにはテクスチャはいまだ表示されていない。

その結果が図4である。テキスチャーはまだだ。右上のView Port Shadingを選択する必要がある。右端のViewport Shading Method to display / shade object in the 3D View: Rendered Display render previewを選ぶと,次の図6のように表示される。

図6 Rendered Display

 ぼくは,テキスチャーが旨くレンダーリングされたけど,できない場合の対処法がこの参照サイトには記述されている。

3.3 OBJ ファイルをエクスポート(元の記述をぼく用に変更した)

 File -> Export -> Wavefront (.obj) を選択して OBJ 形式でエクスポートする。なお、デフォルトではエクスポート時の座標系が Z Forward, Y Up になっている。BlenderのZ軸は奥行き方向に対して,CloudCompareやMeshLabではZ軸は高度軸なので,変更する必要がある。図8の右ペーンのTransformで,UpをZ軸,ForwardをY Forwardに変更した。クラウドコンペアでのXYZ軸関係を見ると(図13),右手座標系になっているので,この設定は正解だ。なお,Exportする際に画面上のオブジェクトを選択していた(メッシュがオレンジ色で縁取られている)が,この所作は重要かも知れない?。

図7 Export > Wavefront (.obj)

図8 usdzフォルダー内に保存 ファイル名を付ける

 図8と図9はOBJ の保存過程であるが,反応が鈍い様に感じた。図9では保存ラインがえび茶色になった。これには時間がかかった。こうなってから,Export OBJのボタンを再度,タップしたように思う。Blender File Viewの最上部のPathを見ると,Dropboxに保存されているように見えるが,全くそのフォルダーには入っていない。これに惑わされた。

図9 OBJファイルの保存

 ブラウザー(Explorer)で確認した。新たなOBJファイルは,テクスチャー画像22ファイルが入っていた 0\フォルダーに保存されている。思えば,こういったファイル配置はOBJファイルの特徴であるし,適切なのであるが,焦ってしまった。赤い下線でpathを確認している。この構造をブラウザーで壊してしまうと機能しなくなる,当然。

図10 エキスポートされたOBJファイルは0\フォルダー内にあった

 図11では,CloudCompareでのファイルを開く際の,様子。

図11 CloudCompareでOBJを選択するところ

図12 左ペーンのDB TreeではOBJが見えないが,consoleに明記されている

図13 右手座標系である

無料のオンラインUSDZからOBJへのコンバーター ってのがあるのねえ。この作業が終わってから気づいた。しかし,出来上がったOBJを見ると,メッシュの破れが塞がっているように見えるなあ。

以上,Sep. 13, 2023記。

4 CloudCompareで編集して体積計算

 図14には,CloudCompareでの,分割作業の終盤を示す。図中の大饗石内部の白い大きな三角形のオブジェクトはBlenderによる追加である。元々は2個あって,外の大きな破れをカバーする形でやはり三角台状のものがあり,これを削除すると,大饗石の破れの部分が復活?した。図14の三角形をどのように削除するかちょっと困って,さし当たりとこの台状の部分が大饗石から突出している部分を削除しようとしたら,この白い三角形全部が消失した。これを削除することで,大饗石が傷つくことは無かった。なお,この白い三角形の中は空っぽだ。

図14 大饗石のみ残す

 図15に見えるように,テクスチャーはかなり緻密ではあるが,右手に見えるように,比較的大きな穴は埋まっていない。体積はV=45.9532となった。この図の上縁には木の枝のようなものが残っていて,これを削除すると付け根に穴が空いた。体積はV=43.8914となった。

図15 体積計算

5 MeshLabでusdz変換objファイルの穴埋めの後CloudCompareで体積計算

 usdzから変換したobjファイルのtextureの肌理は細やかな気がしている。実際,segmentationの際のmeshの断面はfbxよりもかなりスムーズな印象であった。図16のように,比較的大きな穴が残っている。
 図17では,Remeshing, Simplification and Reconstuction > Close Holes size 100,✓Prevent,設定。図18はその結果。手前の穴は塞がった。奥の一つは塞がらない。

図16 比較的大きな穴が

図17 Close holes size=100, ✓Prevent

図18 手前の穴は塞がった

 引き続き,Close Holesを実行しようとすると,Filter Failure not 2-manifold egesエラー。それで,
Filters > Cleaning and Repairing > Repair non Manifold Edges, Remove Faces を実行後に,もう一つの選択肢Split Verticesも実行した結果が図19で,図20のように,いまだ懸案の穴は残っている。
 size=1,000も実行した。Closed 789 holes and 44 new facesという結果。さらに,図21のように,10,000実行。Closed 32 holes and 1 new faces。とはいえ,図21のように,未だパネルそばの穴は塞がっていない。

図19 Split Verticesも実行

図20 まだ懸案の穴が残る

図21 size=10,000実行

 心は進まないが,ポアッソン再建を実行することに。Remeshing, Simplification and Reconstuction > Surface Reconstruction: Screened Poisson,図22にはpanel を示すが, Reconstruction depthを8から12に。Pre-Clean に✓。図23, 24はその結果。68665msecかかった。底以外の,全部の穴が塞がったが,底エッジには大きなスカートができた。

図22 Surface Reconstruction: Screened Poisson

図23 結果 上面から

図24 底(裏)から見ている

 これまでの作業を保存する。図25ではmlp形式で,図26ではexport meshで。オプションの可能な部分は全部✓。この出力をしないと,CloudCompareで扱うことができない。obj形式のまま,保存する。これでMeshLabは終了できるが終了しなくても問題ない。exportしたファイルをCloudCompareで扱うことができる

 CloudCompareで開くために,metascan_Blend_objフォルダを見ると,Poisson mesh.plyがある。図27はそれを呼び出したところ。OBJであっても,PLYファイルがベースになっているようだ。

図25 MeshLab形式mlpでまずは保存

図26 export meshで Flags, quality, normal全部に✓ 名称は自動。

図27 CloudCompareで開く

 CloudCompareでPoisson mesh.plyを呼び出すと,図28のように,Meshエンティティが見える。シーンではz軸が間違いなく標高軸になっている。segmentation 作業を進める段階毎に,Mesh_step1.objなどと保存してゆくことにする。ただ,保存に,ものすごい時間がかかる。segmentationの開始前に体積計算して,図29のように,まずはスカートを含めてV=130.998が得られた。図30では粗っぽくスカート部分をsegmented。

図28 CloudCompareで開いたところ

図29 体積計算 V=130.998

図30 粗っぽくスカートをsegmented

 Edit > Mesh > Measure volume V=49.7738,Mesh_step2.objを保存。さらに触って,図31のように,V=43.1091が得られて,図32,図33のようにMesh_step3.obj として保存した。

図31 完成してV=43.1091

図32 Mesh_step3.obj として

図33 Mesh_step3.obj 保存がconsoleに

 図34はCloudCompareからファイルを選ぶところだ。図35のDB Treeにあるように,Mesh_step3_convertedCC.ply > Mesh > Verticesとなっていて,このverticesは点群だ。
 図36にあるように,この点群を選んで,Tools > Volume > Compute 2.5D volumeを実行すると,Volume calculationパネルが現れる。基本的にはデフォルトのままでよい。
  Ground source: constantでオーケー,Default height: -0.758000がデフォルトで入っているのは,この高さが最低値だからだ。(Groundとして点群を選ぶことができればより正確な値を得ることができる)
  Ceil source: Vertices デフォルト。step: 0.010000 これは10cmスクエア,まあこんなもんだな。デフォルト。自動的にsize 529 x 741 = 391,989 cells。Projection dir. Z。Num. precision 3。全部デフォルトである。

図34 Compute 2.3D volume

図35 点群Verticesを選ぶ

図36 Volume Calculation

 計算結果を図37〜39に示す。図37はデフォルトstep 0.01でV=53.574,図38はstep 0.001とすると総セル数は10,000,000を超えるためにエラーとなる。図39はstep 0.002(step 0.002の場合,sizeは 2639 x 3703 = 9,772,217 cells < 10,000,000)とした場合で,V=53.582。

図37 step 0.01

図38 step 0.001 エラー

図39 step 0.002

 step 0.03 (size 177 x 248 = 43,896 cells), V=53.484 (Matching cells 58.8%)。点群に対して2.5D volume計算値はstep 0.002〜0.01まで,変動量は大きくはない。Ground値を定数にしても単純に点群の頂部からGroundまで一律に体積として組み込んでいる訳ではないように思う。

図40 step 0.03 size 177 x 248 = 43,896 cells

6 BlenderのAdd-onで体積計算

 Blender PreferencesのAdd-onsのリストの中に,Mesh: 3D-Print Toolboxがあり,Blenderアイコンが出ている(図41)ので,インストール済みということ。□に✓を入れること。なお,インストールされていないのは人影が見えるので,□に✓を入れて,リスト最上段の「↓インストール」ボタンを押せば良い。
 add-onがあるpathは次のようだ。C:\Program Files\Blender Foundation\Blender 3.6\3.6\Script\addons。
 Mesh: 3D-Print Toolboxの使用法は,
How To Use The 3D Print Toolbox Add On?
【注意点アリ!】Blenderで3Dプリンター用のデータを作る方法
にある。要するに,3Dプリンター用のファイルを作るためのadd-onのようだ。Mesh: 3D-Print Toolboxを画面に表示するには,図43のViewメニューのSidebarの□に✓を入れること。

図41 Blender PreferencesのAdd-onsのリストの中にMesh: 3D-Print Toolboxインストール済

図42 Add-onのインストール

図43 View > Sidebar

 図44のように,3D-Printのタブが現れて,これをクリックすると,3Dプリントのためのファイル情報が現れる。Statistics > Volumeのボタンを押すと,計算される。その結果は図45に出ていて,37.942㎡とされる。この値は,PLYをメッシュ化したファイルとか,FBXファイルの体積計算の結果とほぼ一致している。
 すでにこのサイトに記述したかどうか。メッシュファイル特有の構造がこういう結果を生み出した可能性が大きい。Blenderに,CloudCompare以上の精度を期待したが,どうもメッシュファイルの分析過程にも問題があるようだ。メッシュファイルが底抜けであることが原因か。CloudCompareではholesを原因とするinvalidのメッセージが出るが,Blenderではその種のメッセージは無い。ここで使ったメッシュファイルはusdzをobj化したもので,良い結果を期待したが残念だ。
 もう体積計算値を確かめる方法は,3Dアプリでは期待できず,四面体に分割して座標値からおよその値を求めるしかない。このページで論じたいと思う。

図44 Sidebarに3D-printが表示される

図45 Statistics > Volume,にチェック

図46 Check Allをクリックすると

 図46には,Check Allボタンをクリックした結果が見える。この結果が出るのに結構時間がかかったように思う。この結果を見ると,3Dプリンター用には問題かも知れない。結果の項目を選ぶと,スクリーンにその場所が現れる。その2例を図47と図48に示す。図48にはNon Manifold Edges 6057カ所が示されているが,ポアッソン再建処理後,大饗石に属す筈が無いスカートをsegmentationしたためにできた切断線で,この底の穴を埋めるには,6057個のedgesをも繋ぐ能力のツールまたは手法が必要になるということを示している。この情報はぼくが欲しいものであったが,この底穴を埋める方法をぼくは知らない。

図47 Overhang Faces 326523

図48 Non Manifold Edges 6057

7 平行六面体から導かれた四面体に分割して大饗石の体積を手計算する

 このページは一応終了する。ChatGPTを使って3Dスキャンオブジェクトの体積を求める に続けたい。

以上,Sep. 20, 2023記。