generating a 3d surface from from [x,y,z,c] matrix

3 views (last 30 days)
Abdulelah Alswaiyd
Abdulelah Alswaiyd on 5 Jun 2020
Commented: Andreas Bernatzky on 15 Jun 2020
Dear all,
I have a dataset in a 8261x4 matrix where the first 3 columns represent x,y,z coordinate and the fourth column vlaues are ones as in the figure below:
thses are sunrays hitting a rectangular surface. the ones represent the power per ray. I want to generate a surface like in the next figure (it is a 2d plot using x&z only):
in the previous figure, the surface devidied by 25x25 (resolution) and the ones in the fourth column in the matrix were summed based on the grid resolution.
I include the y-axis because I have another data for tilted surfaces (3D), the end goal is to plot the flux map on multiple panels (shown in the figure below) and each panel will have a data like the martix I showed previously.
Thank you.

Answers (1)

Andreas Bernatzky
Andreas Bernatzky on 7 Jun 2020
Hey Abdulelah,
I have made some approaches with density3D from:
should do the job for you. I have attached 2 images one with scatter3 and one with density 3D
posXvals = raydata1{:,1}
posYvals = raydata1{:,2};
posZvals = raydata1{:,3};
figure(1)
scatter3(posXvals,posYvals,posZvals);
figure(2)
density3D(posXvals',posZvals');
  5 Comments
Andreas Bernatzky
Andreas Bernatzky on 15 Jun 2020
@darova
should also work yes. I have not thought about it.

Sign in to comment.

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by