任何人有我的任何啓動提示?我想從中學習(即不想懶惰,請有人爲我解答)。[MATLAB]:我如何在數學上和視覺上重現新King's Cross'西部廣場'的3D表面?
我想發展我對數學3D表面的理解。我自己的個人項目是在MATLAB中產生一個三維曲面/廣場結構圖。
我發現一個鏈接,其幾何圖形的好圖片here。我並不期望完美地獲得它,但我想接近!
在練習結束時,我希望有一個幾何的數學定義以及表面的視覺表示。這可能涉及笛卡爾方程,參數方程,矩陣等。
任何幫助將非常感謝!
任何人有我的任何啓動提示?我想從中學習(即不想懶惰,請有人爲我解答)。[MATLAB]:我如何在數學上和視覺上重現新King's Cross'西部廣場'的3D表面?
我想發展我對數學3D表面的理解。我自己的個人項目是在MATLAB中產生一個三維曲面/廣場結構圖。
我發現一個鏈接,其幾何圖形的好圖片here。我並不期望完美地獲得它,但我想接近!
在練習結束時,我希望有一個幾何的數學定義以及表面的視覺表示。這可能涉及笛卡爾方程,參數方程,矩陣等。
任何幫助將非常感謝!
要爲MATLAB提供一些具體的建議:
我將加載從你所鏈接網頁的「部分」形象,並在MATLAB圖形窗口中顯示這一點。然後,您可以嘗試在頂部繪製線條,直到找到適合的頂點。所以,你可能做這樣的事情:
A = imread('~/Desktop/1314019872-1244-n364-1000x707.jpg');
imshow(A)
hold on
axis on
%# my guess at the function - obviously not a good fit
x = [550:900];
plot(x, 0.0001*x.^2 + 300)
當然,你可能要移動原點的位置或裁剪圖片等。
至於這個試錯法的可以說是更好的選擇,你可以跟蹤部分的輪廓(例如,通過點擊喜歡的東西ginput
點),然後使用MATLAB的curve-fitting工具之一(例如fit
)至適合數據的功能。
最終的3D形狀在我看來(隨便一瞥)是圍繞中心軸的截面形狀的3D革命。因此使用cylindrical coordinate system可能是一個好主意。
到目前爲止,我的[最接近擬合](http://i.imgur.com/4d38o.jpg)是一個減去一行加上一個正方形加上高斯的對數; 'y = 33 * log(x)-1.0 * x + 0.00162 * x ** 2 + 24. * 2.71 **( - (x-145)** 2 /(80。** 2) 0在曲線的最左點。 – Junuxx
謝謝比爾。我是大多數MATLAB函數的新手,因爲我只知道以前使用過的幾個函數。我認爲我的主要問題是不知道我擁有哪些工具。你的意見在這方面幫了我很大的忙。我同意圓柱座標系是最好的選擇。這個大廳的形式的問題是,它的基地只圍繞一個半圓的非常小的部分旋轉,而頂部圍繞一個完整的半圓旋轉(這是否合理!?)。您可以注意到,基礎構件幾乎沿着一條直線連接到地面,而不是半圓形。 –
我將首先定義一個函數,爲每個x,y座標定義是否有一個點z,如果是,以及在哪個高度。
形狀讓我想起了一點日誌或平方根。
要恢復的函數實際上只是1D,y = f(x),x距中心的距離。然後該函數可以在垂直軸周圍[** lathed **](http://en.wikipedia.org/wiki/Lathe_(graphics))獲得屋頂形狀。 – Junuxx
感謝Junuxx爲了解決橫截面曲線的問題。這是一個很大的幫助。我同意,它應該圍繞一個垂直軸(我已經使用SketchUp做了一些實驗,只是爲了開發創意) 問題是它不是一個簡單的半圓形在基地...即它似乎在曲線的頂端旋轉更多,底座更少。 –
我不確定目標是什麼 - 您是以圖像作爲參考以代數方式手動建模曲面函數,還是您正在尋找可從圖像中推斷出三維結構的計算機視覺技術?在第二種情況下,如果您知道(或可能接近)每張照片中相機的位置和方向,則可以嘗試[** photometric stereo **](http://pages.cs.wisc.edu/) 〜csverma/CS766_09 /立體聲/ stereo.html)。它有一些限制,但理論上可能有效。 – Junuxx
感謝您的評論!也許我原本應該包括,在得到幾何圖形(在笛卡爾三維曲面函數的情況下)之後,我想要做的下一步是將一組點(x,y)垂直(z)投影到三維曲面上。 我想我正在考慮你的第一個解決方案......但你的第二個解決方案聽起來很有趣! 但主要是我想要一個數學模型/結構的定義,這將允許我在MATLAB中整齊地編程。 出於興趣...我的下一步是使用遺傳算法產生一個不同的結構,遵循相同的形式! –