2012-12-17 78 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