Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - 日本語


geom3d

3次元プロットの後に3次元から2次元へ投影する

呼び出し手順

[x,y]=geom3d(x1,y1,z1)

引数

x1,y1,z1

同じ大きさの実数ベクトル (3次元の点).

x,y

x1, y1 および z1と同じ 大きさの実数ベクトル.

説明

geom3dは, plot3d, plot3d1 または param3d のような3次元プロット関数の後に使用され, 3次元空間(x1(i),y1(i),z1(i)) における点と投影された二次元平面上の対応する点(x(i),y(i)) の間のマッピングを行ないます. この後,(x,y)に行う全ての2次元グラフィックプリミティブを この3次元プロット上への重ね合わせるために使用できます.

deff("[z]=surface(x,y)","z=sin(x)*cos(y)")

t=%pi*(-10:10)/10;

// 曲面の3次元プロット

fplot3d(t,t,surface,35,45,"X@Y@Z")

// ここで, (t,t,sin(t).*cos(t))は曲面上の曲線で,

// geom3d および xpolyにより描画される

[x,y]=geom3d(%pi/2,0,surface(%pi/2,0))
my_plot_desc          = "plot3d and use of geom3d";

  r = (%pi):-0.01:0;

x = r.*cos(10*r);

y = r.*sin(10*r);

deff("[z]=Surf(x,y)","z=sin(x)*cos(y)");

t=%pi*(-10:10)/10;

// 曲面をプロット

fplot3d(t,t,Surf,35,45,"X@Y@Z",[19,2,3]);

// 3次元グラフィック上に2次元グラフィックを追加

z=(sin(x).*cos(y));

[x1,y1] = geom3d(x,y,z);

xpoly(x1,y1,"lines");

// いくつかのプロット用パラメータを調整

BackgroundColorId           = color(70,174,255);

current_axe                 = gca();

plot_3d                     = current_axe.children(2);

plot_3d.hiddencolor         = 32;

polyline                    = current_axe.children(1)';;

polyline.foreground         = 8;

current_axe.rotation_angles = [70,47];

current_axe.background      = BackgroundColorId;

// 2番目の2次元グラフィック

[x1,y1] = geom3d([0,0],[0,0],[5,0]);

xsegs(x1,y1);

xstring(x1(1),y1(1),"The point (0,0,0)");

xtitle(my_plot_desc," "," "," ");
Report an issue
<< genfac3d 3d_plot mesh >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:43:11 CEST 2023