4次元表示したいです。

3次元+温度表示の4次元データを作成したいです。
下の画像のように中心から外側にいくにつれて温度が低くなっているのを
4次元座標での表示をしたいです。
どのような方法で中心から外側に行くにつれて温度が低くなっているのを
4次元表示できますでしょうか?
教えてください。
無題.png

Risposte (1)

Yoshio
Yoshio il 8 Giu 2019
Modificato: Yoshio il 8 Giu 2019

0 voti

こんな感じではいかがでしょうか?
alphaalphamapについては各々ドキュメントをご覧ください。
EPSO=8.854214871e-12;
CHARGE=1.6021918e-19;
x=-0.1:0.0025:0.1;
y = x;
z = x;
[X,Y,Z] = meshgrid(x,y,z);
u0=4.0*pi*EPSO*sqrt(X.^2+Y.^2+Z.^2+eps);
u=CHARGE*u0.^-1;
V = log(u);
xslice = [0,0.1]; yslice = [0.0,0.1]; zslice = [-0.1,0];
h = slice(X,Y,Z,V,xslice,yslice,zslice);
xlabel('X');ylabel('Y');zlabel('Z');
caxis([min(V(:)) -16.2])
axis equal
set(h,'EdgeColor','none','FaceColor','interp',...
'FaceAlpha','interp')
alpha('color')
alphamap('increase',.3)
rotate3d
untitled.bmp

5 Commenti

ryo tanaka
ryo tanaka il 10 Giu 2019
回答ありがとうございます。
このような感じの図を作りたかったのでありがとうございます。
ちなみにこの図での最大値は座標中心[0,0,0]で、中心から全方向に向かって
値が減衰していっている感じでしょうか?
図を拡大していくと添付図のように中心が楕円形のように見えます。
無題2.png
中心から等方向に値が減衰していく分布を作りたいのですが、どのような計算式ですればよろしいでしょうか?
Yoshio
Yoshio il 10 Giu 2019
Modificato: Yoshio il 10 Giu 2019
分布は以下の式ですので、等方向で減衰のはずです。
u0=4.0*pi*EPSO*sqrt(X.^2+Y.^2+Z.^2+eps);
u=CHARGE*u0.^-1;
V = log(u);
ここで、見る角度が斜め方向なので楕円に見えるのだと思いましたが、違いました。
sqrt(X.^2+Y.^2+Z.^2);
とすれば良さそうです。
ryo tanaka
ryo tanaka il 10 Giu 2019
回答ありがとうございます。
sqrt(X.^2+Y.^2+Z.^2);ではしらせるときれいに分布が表示できました。
何度も質問すみません。
この分布を表示させる計算方法(下記の計算式)はどのような手順でおこなわれているのか、
各式の説明をして頂けると幸いです。
EPSO=8.854214871e-12;
CHARGE=1.6021918e-19;
u0=4.0*pi*EPSO*sqrt(X.^2+Y.^2+Z.^2);
u=CHARGE*u0.^-1;
V = log(u);
このスクリプトをしっかりと理解したいなと思っています。
どうぞよろしくお願い致します。
Yoshio
Yoshio il 10 Giu 2019
Modificato: Yoshio il 10 Giu 2019
この式は例題としてクーロンの法則を使っただけですので、気にされないでください。
本質は
u = a/sqrt(X.^2+Y.^2+Z.^2);
で中心に行くほど大きな値になります。ryo tanakaさんの表したい温度の式で置き換えてください。
V = log(u)としているのは、人間が見てわかる色の領域に値を圧縮しています。
温度範囲が狭ければ、uをそのまま表示すれば良いと思います。
ryo tanaka
ryo tanaka il 10 Giu 2019
返信ありがとうございます。
そういった意味だったのですね、ご丁寧にありがとうございました。
参考にさせてもらって作成してみたいと思います。

Accedi per commentare.

Tag

Richiesto:

il 8 Giu 2019

Modificato:

il 10 Giu 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!