我只能解決它的Matlab的側面,因爲我不熟悉C#,但我認爲Matlab的.NET編譯應該是能夠導出所有的功能呢?
1:您可以使用動畫3D散點圖(以及表面,網格,線圖等變體)繪製4維數據。基本上,你的平均3D視頻遊戲,如果你想一想,就是4D的情節。對於散點圖,從0秒開始,只畫出t4 = 0的點,其中x = t1,y = t2,z = t3。在1秒內,只繪製t4 = 1的那些圖。在2秒時間內,只有t4 = 2,依此類推,直到達到最大值(t4),然後再循環。
您也可以使用顏色作爲第四維,以便在3D空間中有彩色點。
從我的觀點來看,你可以推廣到其他地塊。
見http://www.mathworks.com/help/techdoc/ref/scatter3.html和http://www.mathworks.com/help/techdoc/ref/surf.html。
2:讓我來澄清一些事情。給出初始條件沒有座標可以是負的:
t2<=5
限定的無限4維空間,這是在3名維無限並且在一個有限「板坯」(這是5個單位厚)。平板的一個邊緣位於原點和<0, 5, 0, 0>
之間,連接到原點的三個其他邊沿沿着軸線的正方向延伸到無窮遠,沿着軸線延伸到t1
,t3
和t4
。
t1+t2+t3+t4<=3
定義了一個有限的四維金字塔,其頂點在原點和底部,方向爲<+, +, +, +>
。
鑑於您的OR
,結果是這兩個空間的聯合。 (超)金字塔已經是(超)平板的一個子集,所以第二個表達式是多餘的。這個平板是微不足道的,所以我將展示如何僅將金字塔形象化。
對其進行可視化,我想你應該,比如說,設定t4到10個不同的值,並繪製每個其他3個參數爲不同顏色的表面。
一個例子:
clc
clear
close all
n = 10;
% Manually calculated maximae of x, y, z axes
x = [0 0; 0 3];
y = [0 0; 3 0];
z = [3 3; 0 0]; % surf can only draw polygons, not triangles, so we just squash two points together
% Actual t will be derived from this algorithmically
t = [3 3; 3 3];
% So plots don't replace each other
hold on
for i = 0:0.1:1
% Manually derived
surf(x*i, y*i, z*i, t*(1-i));
end
hold off
% Just some aesthetic stuff
xlabel('t1');
ylabel('t2');
zlabel('t3');
grid on
colormap('hot')
每個顏色是金字塔(頭位於原點)的不同T4的基礎 - 你可能想象一個3D金字塔「縮水」隨着時間的推移上。
我不知道的相關性,但凸多邊形是完全沒有在Matlab:
plot([0 0 1 1 2 2 3 3 0], [0 2 2 1 1 2 2 0 0]); axis([-1 4 -1 4])
如何爲n維圖,有沒有辦法想象嗎? (約束中參數的數量可以是無限的) – william007
對於散點圖,如果第四維是時間,第五維是顏色,則第六維可以是每個點的大小。第七可以是點的形狀(星形,圓形,十字形......假定值的範圍合理無變化)。任何n的n維?我認爲你很快就會用完有意義的功能。但是,如果您遇到維度問題,請考慮主成分分析。 – Superbest