how to draw this geometry OF TWO SHAPES?

5 views (last 30 days)
Ms
Ms on 8 Feb 2022
Answered: Ganesh on 13 Jun 2024
I want to draw the attached geometry using decsg ? thanks

Answers (1)

Ganesh
Ganesh on 13 Jun 2024
Hi @Ms,
For creating the given figure, you need to break down the figure into three parts. Using the 2D Geometry definition, we need to construct the following segments of the figure:
  1. The Outer Rectangle: Lets assume it is of dimensions 6*9 in this case
  2. Inner Rectangle: Let's assume it is of dimensions 4*7 in this case
  3. The Semi Circle: Due to the rectangle constraints, the Semi Circle will be of radius 3, centered on the middle of the lowest edge.
You may learn more on constructing 2D Geometry figures using the following documentation link:
The following code achieves what you are looking for:
R1 = [3 4 -3 -3 3 3 -4.5 4.5 4.5 -4.5];
R2 = [3 4 -2 -2 2 2 -3.5 3.5 3.5 -3.5];
C1 = [1 0 -4.5 3 0 0 0 0 0 0];
geom_matrix = [R1' R2' C1'];
set_formula = '(R1+C1)-R2';
% Use decsg to create the geometry
[dl, bt] = decsg(geom_matrix, set_formula, char('R1', 'R2','C1')');
figure; % Creates a new figure window
pdegplot(dl, 'EdgeLabels', 'on');
axis equal; % Ensures the aspect ratio is equal to accurately represent the geometry
title('Geometry: Outer Rectangle Minus Inner Rectangle');
xlabel('x');
ylabel('y');
[dl2,bt2] = csgdel(dl,bt);
figure
pdegplot(dl2,"EdgeLabels","on","FaceLabels","on")
xlim([-1.5,1.5])
axis equal
Hope it helps!

Tags

Community Treasure Hunt

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

Start Hunting!