The MATLAB code leverages symbolic computations to precisely calculate lengths and angles, aligning with the geometric constructions outlined. It utilizes symbolic variables to represent geometric entities and employs numerical computations to ensure accuracy. The code’s structure is coherent with the step-by-step geometric procedure, emphasizing the adherence to Euclidean principles in the computational analysis. The code carefully calculates the magnitude of radius , establishes the radius , and solves for points of intersection, crucial in constructing points , , , and . The results from the code align with geometric expectations, with angles such as being precisely . This correspondence between the computational results and the expected geometric properties attests to the success of the code in validating the “ Angle Chord” property within the realm of Euclidean geometry. For accuracy check, the code results is computed to 50 decimals. This precision can be extended as desired.
%% MATLAB Script for Computational Analysis of Angles Multiples of 3
% This MATLAB script provides a computational analysis of Euclidean geometric
% constructions related to angles multiples of 3, with a focus on showing
% that the 36-degree chord is constructible and subtends an angle of 36 degrees
% at the vertex of any constructed isosceles angle.
%% Initializing the construction:
% Clear the command window, workspace, and sets the display format for numerical values.
clc; clear; format long; format compact;
%% %%%%%%%%%%%%% Symbolic and Numerical Analysis
%% Compute the magnitude of radius CD
%% Computes the magnitude of radius CD and sets up symbolic variables.
%% Computes the radius EA based on the construction.
%% Solves for the points of intersection for circles with radii AB and BF.
%% Establishes the point F, which defines the 36-degree angle (AngleFAB).
CD = sym(sqrt((1/2)^2 + 1)); % Compute the magnitude CD
digits(50) % Set precision for symbolic computations
vpa(CD) % Display the result
%% Compute the radius EA (Point E is constructed using radius CD)
AZ4 = sym(CD + (1/2)); % Establish a unit from D along AB on the side of B.
EA = sym(AZ4 - 1)
BF = vpa(EA) % Set EA as a radius equal to BF
%% Solve the points of intersection for two circles: c1-radius (AB)
%% c2-radius (BF).
syms x y
CirclesIntersection1 = [x^2 + y^2 == 1, (x - 1)^2 + y^2 == (BF)^2];
vars = [x y]; % Specify the circles x and y variables
[solFx, solFy] = solve(CirclesIntersection1, vars);
% For a sense check, use %double(a) to examine the numerical results
xa = double(solFx(1)); % vpa(solFx(1));
ya = double(solFy(2)); % vpa(solFy(2));
% Establish the point F, that defines the 36 degrees angle: FAB
F = [xa ya];
AngleFAB = vpa(acosd(xa)) % The 36-degrees angle
%% Construct the point G such that angle GAB = 60 degrees
% The point G is an intersection of two circles
syms x y
CirclesIntersection2 = [x^2 + y^2 == 1, (x - 1)^2 + y^2 == 1^2];
vars = [x y]; % Specify the circles x and y variables
[solGx, solGy] = solve(CirclesIntersection2, vars);
cS60x = double(solGx(1)); % vpa(solGx(1));
sS60y = double(solGy(2)); % vpa(solGy(2));
G = [cS60x sS60y];
AngleGAB = vpa(acosd(cS60x)) % The 60-Degrees angle
%% Construction of 30-degrees angle (Geometric bisection of angle GAB)
% Set a point G1, at the intersection between lines JB and AG1, a point of
% chord bisection.
G1 = sym([((cS60x + 1)/2) ((sS60y)/2)]); % Intersection (Bisection) point
% Compute the slope for the line G1A
SlopeG1A = sym(((G1(2))/(G1(1)))); % Slope G1A
% Solve for the point H, a point of intersection between G1A and the unit
% circle
CircleLineIntersection3 = [x^2 + y^2 == 1, ((y - G1(2))/(x - G1(1))) == SlopeG1A];
vars = [x y]; % Specify the circle-line x and y variables
[solHx, solHy] = solve(CircleLineIntersection3, vars);
cSHx = double(solHx(2)); % vpa(solHx(2));
sSHy = double(solHy(2)); % vpa(solHy(2));
H = [cSHx sSHy];
AngleHAB = vpa(acosd(cSHx)) % The 30-Degrees angle
%% Construction of 3-degrees angle. This is achievable if we make 33-degrees.
% Angle FAH = 36-degrees. We set a point I, the intersection between the
% bisection and the unit circle.
% Set point I1, the intersection between chord FH and the bisection of angle
% FAH
I1 = sym([(((xa(1)) + H(1))/2) (((ya(1)) + H(2))/2)]); % Midpoint (Point of Intersection)
% Compute slope for the line I1A
SlopeI1A = sym(((I1(2))/(I1(1))));
CircleLineIntersection4 = [x^2 + y^2 == 1, ((y - I1(2))/(x - I1(1))) == SlopeI1A];
vars = [x y]; % Specify the circle-line x and y variables
[solIx, solIy] = solve(CircleLineIntersection4, vars);
cSIx = double(solIx(2)); % vpa(solIx(2));
sSIy = double(solIy(2)); % vpa(solIy(2));
I = [cSIx sSIy]; % Point of Intersection
AngleIAB = vpa(acosd(cSIx)) % Display AngleIAB = 33 degrees
%% Compute the difference between AngleIAB and AngleHAB to get angleIAH
angleIAH = AngleIAB - AngleHAB % Display AngleIAB = 3 degrees