platonic_solid
function [V,F]=platonic_solid(n,r)
Creates the PATCH data, the vertices (V) and faces (F) for
a given platonic solid (according to "n" see below) with radius (r)
n=1 -> Tetrahedron
n=2 -> Cube
n=3 -> Octahedron
n=4 -> Icosahedron
n=5 -> Dodecahedron
%% Example
clear all; close all; clc;
r=1;
figure;fig=gcf; clf(fig); colordef (fig, 'white'); units=get(fig,'units'); set(fig,'units','normalized','outerposition',[0 0 1 1]); set(fig,'units',units); set(fig,'Color',[1 1 1]);
hold on;
[V,F]=platonic_solid(1,r);
subplot(2,3,1);
patch('Faces',F,'Vertices',V,'FaceColor','b','FaceAlpha',0.6,'EdgeColor','k','LineWidth',2); axis equal; grid on; hold on; view(3); axis off;
[V,F]=platonic_solid(2,r);
subplot(2,3,2);
patch('Faces',F,'Vertices',V,'FaceColor','b','FaceAlpha',0.6,'EdgeColor','k','LineWidth',2); axis equal; grid on; hold on; view(3); axis off;
[V,F]=platonic_solid(3,r);
subplot(2,3,3);
patch('Faces',F,'Vertices',V,'FaceColor','b','FaceAlpha',0.6,'EdgeColor','k','LineWidth',2); axis equal; grid on; hold on; view(3); axis off;
[V,F]=platonic_solid(4,r);
subplot(2,3,4);
patch('Faces',F,'Vertices',V,'FaceColor','b','FaceAlpha',0.6,'EdgeColor','k','LineWidth',2); axis equal; grid on; hold on; view(3); axis off;
[V,F]=platonic_solid(5,r);
subplot(2,3,5);
patch('Faces',F,'Vertices',V,'FaceColor','b','FaceAlpha',0.6,'EdgeColor','k','LineWidth',2); axis equal; grid on; hold on; view(3); axis off;
Cite As
Kevin Moerman (2026). platonic_solid (https://www.mathworks.com/matlabcentral/fileexchange/28213-platonic_solid), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: Fast 3D Collision Detection -- GJK algorithm, VoxelClassifier, GJK algorithm distance of closest points in 3D, Fundamentals of Spherical Array Processing
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0.0 |
