2023年11月18日土曜日

[雑記]ドローン(DJI Mini 3)

(1)雑記
もともと多趣味の友人masakazu Drone氏が、
最近、ドローンにハマり始めて、
更に、新たな趣味が増えたとのこと。

ドローンを始めてから、
まだ1年も経っていないとのことですが、
旅行先で山や川の景色を空撮して、
Youtubeに公開できるほどの腕前です。
あまりに素晴らしい出来栄えなので、当ブログで紹介します。
masakazu Drone氏には許可済
Youtubeにはmasakazu Drone 氏の名前で公開。

ちなみに、空撮に使用しているドローンは、以下の通り。
初心者にもオススメ
機種名:DJI Mini 3 (2022年12月発売)
 趣味・プライベート用で最高のドローン
 ①携帯性が良い。重量249g未満
 ②スタミナ性が良い。
  通常バッテリーで38分、
  インテリジェントフライトバッテリーで51分
  の飛行可能
 ③4K画像が撮れる。解像度4K/30fps
 ④縦型動画で撮影可能。


ドローンで空撮したらこんな感じ bymasakazu Drone
荘川の桜
 https://www.youtube.com/watch?v=RSk4vhhttMg&t=65s
浜松市遠州海岸
 https://www.youtube.com/watch?v=We8sXDrs2GI&t=21s
2024 開田高原
 https://www.youtube.com/watch?v=5-6nW4GtwFg
2024 奥飛騨栃尾温泉 蒲田川
 https://www.youtube.com/watch?v=Vzi8UEucNBE
ドローンと猫と吾輩
 https://www.youtube.com/watch?v=6tGYjTVzvr0
岐阜県恵那市(保古の湖)
 https://www.youtube.com/watch?v=wj1MBC4QSmA
岐阜県中津川市(愛林公園)
 https://www.youtube.com/watch?v=2iZ6d8llgBQ&t=10s
岐阜県中津川市(根の上高原)
 https://www.youtube.com/watch?v=s8k30qu_qDs
せせらぎ街道 大倉滝
 https://www.youtube.com/watch?v=UYzhKzPjBTc&t=4s
せせせらぎ街道 平滝
 https://www.youtube.com/watch?v=KVrUSdfl9Lk&t=22s


(2)空撮に使ったドローンについて
上記のドローンのリンクです。
これから始めてみたい方など、ご参考にでもなればと思います。






2023年11月3日金曜日

[JavaSctipt]オブジェクト指向の実装(クラスの継承)

[はじめに]
JavaScriptの規格は、
ECMAScript(エクマスクリプト)で定められています。

JavaScriptは時代と共に進化しており、
最近のブラウザの大半は、
ECMAScriptのバージョンとして、ES6(ES2015)以降を取り入れています。

ES6(ES2015)は、
クラスなど、オブジェクト指向の概念を取り込んでおり、
最近のソースでもクラスの記載が散見されます。
もちろん、クラスの継承も可能です。

備忘録として、
クラスの継承についてのサンプルソースを掲載します。
以下は、
親クラス「Mammalクラス(哺乳類)」
子クラス「Dogクラス(犬)」「Catクラス(猫)」とした実装例です。
実行結果_オブジェクト指向の継承_クラス図.png
//【クラス定義(Mammal.js)】
class Mammal{

   //変数宣言(Private)
   //※変数名の先頭に「_」を付加することでPrivate指定になります。
   //名前
   #_name = "";

   //コンストラクタ
   constructor(name){
      this.#_name = name;
   }

   //名前
   get name(){
      return this.#_name;
   }

}
[JavaScript]親クラス(Mammal.js)



//【クラス定義(Dog.js)】
//  Mammalクラスを継承
class Dog extends Mammal{

   //コンストラクタ
   constructor(name){
      //注意:
      //親クラスを継承する際、コンストラクタを定義する場合は、
      //必ずsuper(親クラスのコンストラクタ)を呼び出してください。
      //但し、superを呼び出す前に'this' にアクセスすると、
      //エラーになりますのでご注意ください。
      super(name);
   }

   //挨拶をする。
   sayHello(name){
      window.alert(
         "こんにちは。私の名前は" + this.name + "です。");
   }

   //鳴く
   cry(){
      window.alert("ワンワン");
   }

}
[JavaScript]子クラス(Dog.js)



//【クラス定義(Cat.js)】
//  Mammalクラスを継承
class Cat extends Mammal{

   //コンストラクタ
   constructor(name){
      //注意:
      //親クラスを継承する際、コンストラクタを定義する場合は、
      //必ずsuper(親クラスのコンストラクタ)を呼び出してください。
      //但し、superを呼び出す前に'this' にアクセスすると、
      //エラーになりますのでご注意ください。
      super(name);
   }

   //挨拶をする。
   sayHello(name){
      window.alert(
         "こんにちは。私の名前は" + this.name + "です。");
   }

   //鳴く
   cry(){
      window.alert("にゃーにゃー");
   }

}
[JavaScript]子クラス(Cat.js)



<html>
<head>

<script language="javascript" src="./Mammal.js"></script>
<script language="javascript" src="./Dog.js"></script>
<script language="javascript" src="./Cat.js"></script>
<script language="javascript" >

   function dog_access()
   {
      const mammal = new Dog("ポチ");
      mammal.cry();
      mammal.sayHello();
   }

   function cat_access()
   {
      const mammal = new Cat("タマ");
      mammal.cry();
      mammal.sayHello();
   }


</script>
</head>
<body bgcolor="azure">

<input type="button" value="Dogクラスにアクセス" onclick="dog_access();"><br/>
<input type="button" value="Catクラスにアクセス" onclick="cat_access();"><br/>

</body>
</html>
[JavaScript]利用例

[実行結果]
実行結果_オブジェクト指向の継承.png

[雑記]ドローン(DJI Mini 3)

(1)雑記 もともと多趣味の友人 masakazu Drone 氏が、 最近、 ドローン にハマり始めて、 更に、新たな趣味が増えたとのこと。 ドローン を始めてから、 まだ1年も経っていないとのことですが、 旅行先で山や川の景色を 空撮 して、 Youtube ...