忘却の微分方程式(100) 反復練習63、楕円面の接平面を描く、Maxima

Joseph Halfmoon

前回は包絡線(envelop)でした。今回は接平面です。「似たようなもん?」、偏微分して公式に当てはめればこの年寄にも式は求まります。でもね~実際に図を描いてみないと実感がわかないのよ。そして図を描くためには何か具体的な数値を与えないと描けません。具体的な数値にすれば納得いくけれどもメンドイ。しかたない?

※「忘却の微分方程式」投稿順 index はこちら

※数学のお勉強のための以下の教科書(参考書、問題集?)の例題をMaximaの練習に使わせていただいております。

弱点克服 大学生の微積分 江川著 東京図書

遥かなるかな太古の時代、大学生のときにこういう御本が欲しかったデス。

※以下のMaxima/wxMaximaバージョンで実習させていただいております。

    • Maxima 5.46.0
    • wxMaxima 22.04.0
接平面

数学素人がぐたぐだ言ってもせんないので、接平面の公式は以下の通りです。TangentPlane

 

今回の例題

上記のf(x,y,z)にあたるものが、以下の楕円面を表す式です。Ex76_1_a

上記にあるように法線ベクトルを求めると以下のようになります。Ex76_1_b

しかし、後でプロットするときに具体的な座標を与えることになるので、接点を(x0, y0, z0)とおいて関数として定義しておくことにしました。この方が計算便利だし。Ex76_1_c

さてこれらを用いて接平面の方程式を決定することは一撃(上の方の公式に当てはめるだけだから)。こんな感じ。Ex76_1_d

教科書的には上記のTP=0の式をチョイとテクを使って整理して、も少しシンプルな形にしてました。しかし、Maxima様にお願いするのであれば、式をシンプルにする必要など無(シンプルにするための処理の手数の方メンドイからやりたくないのだろ~が、自分。)

具体的なグラフを描く

上記で接平面の式は求まってしまったのですが、それを眺めていても実感がわきませぬ。とりあえずどこでもいいので接点を決めて接平面を描いてみることにいたしました。楕円面といいつつ、a=b=c=1 で球ということにし、接点はありがちな(1/√3, 1/√3, 1/√3)といたしました。x, y, zにゼロ以外の値が入っているのに暗算で求まる数少ない点でございます。具体数値の定義が以下に。

Ex76_1_e

最後の行でホントに、(X0, Y0, Z0)が球面に載っていることを確かめております。

さて接平面の式TPに、具体的な数値を代入しております。やりかたよくわからなかったので、substしてしまいました。力業。Ex76_1_f

接点における具体的な式に書き直された接平面の式がTP0=0です。陰関数を3次元プロットする技を身に着けておりませんので、ことさらsolveかけて陽関数としております。まだa, b, cは混じってますが、具体数値を定義済なのでプロット可能な筈。

接平面を単独で描いてもなんだかな~なので、「接する」相手の楕円面(今回は球になる筈だけれども)を描く準備が以下に。やはり陰関数のままでは3次元プロットする方法が分からなかったので、solveして陽関数化してます。Ex76_1_g

念のため、上記で求めたf1とf2をプロットしてみました。

plot3d([f1, f2, [x,-1,1],[y,-1,1]],[grid,100,100],[same_xyz, true]);

こんな感じ。

Ex76_plot0

f1とf2のつなぎ目に結構断絶が大きくて(グリッドが粗い)、なにやらかのデススターのような絵ずらであります。

さて接平面もあわせてプロットしたものの一部が以下に(プロットが細長くて画面からはみだすので。)

plot3d([f1, f2, TP0, [x,-1,1],[y,-1,1]],[grid,100,100],[same_xyz, true]);

球面上の接平面のつもり。

Ex76_plot1

描けたことは描けたが、いいのかこんな感じで。

忘却の微分方程式(99) 反復練習62、曲線群の包絡線(envelop)を描く、Maxima へ戻る

忘却の微分方程式(101) 反復練習64、くり返し積分その1、Maxima へ進む