problemu:objętość Zapytanie o sztucznych bloków wewnątrz wypukłej
mam trójwymiarową chmurę punktów ciężkości każdego bloku reprezentującego blok. Dla uproszczenia ten przykład jest tylko dwuwymiarowy. Jak pokazano na rysunku, chcę uwzględnić bloki zainteresowania na podstawie parametru. W przypadku tutaj blok 1,6,5,4. Aby je dalej przetworzyć, muszę znaleźć najmniejszy kadłub wokół nich, używając albo kształtu alfa, albo wypukłego kadłuba. Mam współrzędne każdego ciężkości i wiem rozszerzenie bloku więc mogę łatwo znaleźć punkt krawędzi bloków przez:
xdimension=5;
ydimension=5;
block1=[5 15 1];
block2=[5 10 0];
block3=[5 5 0];
block4=[10 5 1];
block5=[10 10 1];
block6=[10 15 1];
block7=[15 5 0];
block8=[15 10 0];
block9=[15 15 0];
blocks=[block1;block2;block3;block4;block5;block6;block7;block8;block9]
dimension=[xdimension/2 ydimension/2];
point1=[1 1].*dimension;
point2=[1 -1].*dimension;
point3=[-1 1].*dimension;
point4=[-1 -1].*dimension;
i=size(blocks,1);
point1=repmat(point1,i,1);
point2=repmat(point2,i,1);
point3=repmat(point3,i,1);
point4=repmat(point4,i,1);
edges1=[blocks(:,1:2)+point1, blocks(:,3)] ;
edges2=[blocks(:,1:2)+point2, blocks(:,3)];
edges3=[blocks(:,1:2)+point3, blocks(:,3)];
edges4=[blocks(:,1:2)+point4, blocks(:,3)];
edges=[edges1;edges2;edges3;edges4];
x=edges(edges(:,3)==1,1);
y=edges(edges(:,3)==1,2);
K=convhull(x,y)
scatter(edges(:,1), edges(:,2))
hold on
plot(x(K),y(K),'r-')
hold off
To daje obraz podobny do tego tutaj.
Pytanie
Jak mogę kwerendy powierzchnię (lub w moim prawdziwym problemem głośność), który jest dołączony przez wypukłej bloku 2 i 3? Potrzebuję dokładnej powierzchni/objętości każdego bloku , niezależnie od tych, które określam jako znajdujące się w tym miejscu (tutaj ze wskaźnikiem binarnym). Należy zauważyć, że jest to przykład i szukam pomysłów, jak to zrobić niezależnie od przykładu. Naprawdę byłbym wdzięczny za pomoc, bo ja tu utknąłem i nie mam pojęcia, jak sobie z tym poradzić.
mi wiadomo, jest to, chcę znać dokładną kwotę zawartą z 2 i 3 indywidualnie, a nie całkowitą objętość. ;) – KiW