已知顶点坐标,如何利用MATLAB绘制多面体
例如:
A=[1.486,3.059,0.1;2.121,4.041,0.1;2.570,3.959,0.1;3.439,4.396,0.1;4.505,3.012,0.1;...
3.402,1.604,0.1;2.570,2.065,0.1;2.150,1.970,0.1;1.794,3.059,0.2;2.121,3.615,0.2;...
2.570,3.473,0.2;3.421,4.160,0.2;4.271,3.036,0.2;3.411,1.876,0.2;2.561,2.562,0.2;...
2.179,2.420,0.2;2.757,3.024,0.3;3.439,3.970,0.3;4.084,3.036,0.3;3.402,2.077,0.3;...
2.879,3.036,0.4;3.421,3.793,0.4;3.953,3.036,0.4;3.402,2.219,0.4;3.000,3.047,0.5;...
3.430,3.639,0.5;3.822,3.012,0.5;3.411,2.385,0.5;3.103,3.012,0.6;3.430,3.462,0.6;...
3.710,3.036,0.6;3.402,2.562,0.6;3.224,3.047,0.7;3.411,3.260,0.7;3.542,3.024,0.7;3.393,2.763,0.7];
x=A(:,1);y=A(:,2);z=A(:,3);
scatter3(x,y,z)%散点图
figure
[X,Y,Z]=griddata(x,y,z,linspace(1.486,4.271)',linspace(1.604,4.276),'v4');%插值
pcolor(X,Y,Z);shading interp%伪彩色图
figure,contourf(X,Y,Z) %等高线图
figure,surf(X,Y,Z)%三维曲面
figure,mesh(X,Y,Z),hold on,scatter3(x,y,z,'filled');
可以用MATLAB一步一步的查
X([5:8,11,12,15,16,18,20,22,24])=1; 命令之后 X变为
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
所以这句是赋值语句
X(d,1)的意思是 X第一列的第1 2 4 3 1 5 6 8 7 5 6 2 4 8 7 3个数 按顺序组成一个数组X(d,1)的具体结果如下
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
嘿嘿又有人问,用最笨方法,这个代码的第二个图的部分是通用代码,你可以用任意的六个点绘制,只要你修改六点的坐标即可,六点中的最后两点是上下顶点。
clear all
d1=[1,0,0];
d2=[0,1,0];
d3=[-1,0,0];
d4=[0,-1,0];
d5=[0,0,1];
d6=[0,0,-1];
%根据xy的坐标生成水平面
x0=[d1(1),d2(1),d3(1),d4(1),d1(1)];
y0=[d1(2),d2(2),d3(2),d4(2),d1(2)];
z0=[d1(3),d2(3),d3(3),d4(3),d1(3)];
%生成上面四个面
x1=[d5(1),d5(1),d5(1),d5(1),d5(1)];
y1=[d5(2),d5(2),d5(2),d5(2),d5(2)];
z1=[d5(3),d5(3),d5(3),d5(3),d5(3)];
%生成下面四个面
z2=[d6(3),d6(3),d6(3),d6(3),d6(3)];
x2=[d6(1),d6(1),d6(1),d6(1),d6(1)];
y2=[d6(2),d6(2),d6(2),d6(2),d6(2)];
x=[x1;x0;x2];
y=[y1;y0;y2];
z=[z1;z0;z2];
figure(1)
mesh(x,y,z)
colormap(gray(1))
hidden off
axis equal
axis on
grid on
D1=[1.2,0,0];
D2=[0.2,1.13,0];
D3=[-1.03,0.04,0];
D4=[0.25,-2.03,0];
D5=[0.12,-0.45,2.01];
D6=[-0.09,1.2,-1.05];
%根据xy的坐标生成水平面
X0=[D1(1),D2(1),D3(1),D4(1),D1(1)];
Y0=[D1(2),D2(2),D3(2),D4(2),D1(2)];
Z0=[D1(3),D2(3),D3(3),D4(3),D1(3)];
%生成上面四个面
X1=[D5(1),D5(1),D5(1),D5(1),D5(1)];
Y1=[D5(2),D5(2),D5(2),D5(2),D5(2)];
Z1=[D5(3),D5(3),D5(3),D5(3),D5(3)];
%生成下面四个面
Z2=[D6(3),D6(3),D6(3),D6(3),D6(3)];
X2=[D6(1),D6(1),D6(1),D6(1),D6(1)];
Y2=[D6(2),D6(2),D6(2),D6(2),D6(2)];
X=[X1;X0;X2];
Y=[Y1;Y0;Y2];
Z=[Z1;Z0;Z2];
figure(2)
mesh(X,Y,Z)
colormap(gray(1))
hidden off
axis equal
axis on
grid on
已知顶点坐标,如何利用MATLAB绘制多面体
clear all d1=[1,0,0];d2=[0,1,0];d3=[-1,0,0];d4=[0,-1,0];d5=[0,0,1];d6=[0,0,-1];根据xy的坐标生成水平面x0=[d1(1),d2(1),d3(1),d4(1),d1(1)];y0=[d1(2),d2(2),d3(2),d4(2),d1(2)];z0=[d1(3),d2(3),d3(3),d4(3),d1(...
已知矩形四个顶点坐标,如何用matlab求矩形的中心点坐标?
y0=mean(y);x0 y0即为中心点坐标
求一个matlab函数! 功能:已知一个多边形所有顶点的左边,再给你一个...
是matlab中的inpolygon函数。具体用法如下:IN = inpolygon(X,Y,xv,yv)X,Y是待判断点的X和Y坐标,xv和yv是多边形的顶点坐标,要顺时针或者逆时针饶一圈的,也就是xv(1)和xv(end),yv(1)和yv(end)是同一个值;IN是逻辑量,1表示在多边形内,0表示在外面。望采纳 ...
Matlab中已知三角形的顶点坐标,画出三角形,并填充上不同的颜色。_百度...
x表示三角形的三个顶点的横坐标 y表示对应于y的三个顶点的纵坐标 fill 函数用于填充三角形 x1=[1 2 1];y1=[1 1 2];x2=[1 2 2];y2=[2 1 2];x3=[2 2 2.5];y3=[1 2 1.5];x4=[2 2.5 3];y4=[1 1.5 1];x5=[2.5 3 3];y5=[1.5 1 2];x6=[2 2.5 3];...
matlab 已知三角形顶点坐标,如何确定三角形内的点坐标的范围_百度知 ...
如果说是范围的话应该是满足与三角形三条边直线方程有关的不等式组 但是如果你有三点A(x1,y1),B(x2,y2),C(x3,y3)组成三角形 想知道某点(x,y)是否在三角型里面 可以用matlab函数 [in on]=inpolygon(x,y,[x1 x2 x3],[y1 y2 y3]);返回的in和on都是逻辑矩阵,1表示逻辑是,0表示...
matlab知道三个三维空间点的坐标,如何绘制这三个点构成的空间三角形...
举个例子来说吧,若三个顶点分别为:(1,0,0);(0,1,0);(0,0,1),则可用如下程序来画:x=[1 0 0 1];y=[0 1 0 0]; z=[0 0 1 0];plot3(x,y,z);grid;
已知X、Y坐标数值,如何用MATLAB绘制曲线
(Scientific visualization)。本节将介绍MATLAB基本xy平面及xyz空间 的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲 线上每一点的x及y座标。下例可画出一条正弦曲线:close all; x=linspace(0, 2*pi, 100); % 100...
matlab怎么定位图形的顶点
matlab定位图形的顶点步骤:1、matlab数组找某个值的顶点坐标,是使用find函数,可以在命令行窗口中输入helpfind。2、在matlab命令行窗口中输入a=[145,678,7912],创建a数组。3、输入[m,n]=find(a==9),找到a数组等于9的坐标。4、按回车键之后,可以看到a数组等于9的坐标有一个,是第3行第2...
matlab,假设有4个坐标,如何把这四个坐标分别记为1 2 3 4,并且记录点到...
可以使用 MATLAB 中的 plot 函数和 text 函数实现这个任务。首先,将四个顶点坐标存储到一个 4 行 2 列的矩阵中:coords = [64.1657, 60.7061; 68.9571, 60.7061; 68.9571, 65.055; 64.1657, 65.055];然后,使用 plot 函数将这些点绘制出来:plot(coords(:,1), coords(:,2), 'o'...
如何用Matlab绘制一个长方形
代码如下:设置矩形左下角的顶点坐标 ax = 1;ay = 1;设置矩形长宽 l = 3;w = 4;x = [ax,ax+l,ax+l,ax,ax];y = [ay,ay,ay+w,ay+w,ay];绘图 line(x,y)也可以用plot plot(x,y)为方便观察将坐标轴设置2倍长宽 axis([ax-l,ax+2*l,ay-w,ay+2*w])结果如下:...