2012-12-17 46 views
0

请参见附件图像enter image description here模拟弧/拱门,MATLAB(概念)的

在图像可以看到两个弧(蓝色&绿色)和连接它们的红线。这给了我们表面(我认为它的圆拱,但请纠正我,如果它是错误的)。

我的问题是如何模拟这种结构。

1-如何我可以具有这样的结构的函数f(x,Y,Z)

2-如何在其上得到线(拱面)相交

3点?

总之,我想从一个给定的机架点/视图point.eg获得这种结构的点(X,Y,Z),P = [19,-62,-1.2]

enter image description here

Matlab代码会更有帮助。

一些更多的信息:第一曲线上

点数

p2 = [17.9463,-59.7586,-1.0200]; % start [x,y,z] 
p0 = [19.1163,-58.5886,-1.0200]; % center 
p1 = [20.2863,-59.7586,-1.0200]; % End 

点数第二曲线上

p4 = [17.9463,-59.7586,-1.78]; 
p0_ = [19.1163,-58.5886,-1.78]; 
p3 = [20.2863,-59.7586,-1.78]; 

半径: R = 1.17;

有什么想法?

+2

你的问题是有点含糊。 “模拟结构”是什么意思?你想要一个参数表示吗,作为一个函数'f(x,y)'?为什么这个问题与Matlab相关? – Shai

+0

现在好多了。你有蓝色和绿色线条的一维功能吗?从图像看,表面是半个圆柱体。是这样吗? – Shai

+0

很大的问题你问的问题!我会尽量收集一些信息 –

回答

2

从曲线图中获取确切的函数是一项不太精确的任务。但是,如果您进行假设和近似,您仍然可以很好地近似。

我们假设这是一个半圆柱形状。的圆形横截面是在xz平面中,这意味着3-d的曲线是:

F(X,Y,Z)=( X - X ) +(ž - ž ) = - [R

X和Ž 是中心coordiantes和 - [R是半径。

我假设图中的左轴是y轴,z轴是右边。从我可以告诉,他们的近似值是:

X ≈19.1
ž ≈-59.6
[R≈1.2
Ÿ似乎在-1和-1.7之间变化

您可以使用meshgridsurf容易地制造3 d情节:

r = 1.2; 
x0 = 19.1; 
z0 = -59.6; 
[X, Y] = meshgrid(17.9:0.05:20.3, -1.7:0.05:-1); 
Z = z0 + abs(sqrt(r^2 - (X - x0) .^ 2)); 
surf(X, Y, Z) 

注意两件事情:

  1. 我将分辨率设置为0.05同时在x轴和y轴。
  2. 我已将abs应用于sqrt的结果,以消除任何不需要的复杂结果。

结果应该是这样的:

enter image description here

+0

@ Eithan T,thanx很多。我的错。我应该让问题更清楚。我的问题是我想从给定的立场点/视点模拟(x,y,z)在这个表面上。 – Shahgee

+0

@ user31177你是什么意思“从某个观点来看”?创建图形后,可以使用数据光标工具在任何位置点击表面并获取其坐标。 –

+0

@Eithan T,thanx再次为您的答复。考虑你站在[0,0,0]并查看这个结构。现在使用视线,你可以在这个结构上定期点。它在电脑游戏中是正常的 – Shahgee