Azzera filtri
Azzera filtri

how to draw this geometry OF TWO SHAPES?

4 visualizzazioni (ultimi 30 giorni)
Ms
Ms il 8 Feb 2022
Risposto: Ganesh il 13 Giu 2024
I want to draw the attached geometry using decsg ? thanks

Risposte (1)

Ganesh
Ganesh il 13 Giu 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!

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by