how to get x and y components of normal vector of curve like this??

8 visualizaciones (últimos 30 días)
Turbulence Analysis
Turbulence Analysis el 26 de Jun. de 2021
Respondida: Satwik el 24 de Abr. de 2025
I am trying to get the x and y components of the normal vector in the curve similar to the one attached here, any idea how to implement this ??

Respuestas (1)

Satwik
Satwik el 24 de Abr. de 2025
I understand that the goal is to compute the the X and Y components of the normal vector to a given curve. This can be achieved by following the steps given below:
  1. Parameterize the curve as ( (x(t), y(t)) ) or as discrete points ((x_i, y_i)).
  2. Compute the tangent vector at each point.
  3. Find the normal vector by rotating the tangent vector by 90°.
Here is an exmaple script you may refer to implement the above steps:
x = linspace(-2, 2, 100);
y = x.^2; % Example: parabola
dy_dx = gradient(y, x); % Numerical derivative
% Tangent vector: (1, dy_dx)
% Normal vector: (-dy_dx, 1)
norms = sqrt(dy_dx.^2 + 1);
nx = -dy_dx ./ norms;
ny = 1 ./ norms;
figure;
plot(x, y, 'b-', 'LineWidth', 2); hold on;
quiver(x, y, nx, ny, 0.3, 'r');
axis equal; grid on;
title('Parabola with normal vectors');
legend('Curve', 'Normals');
Here is an image of the resulting plot:
I hope this helps!

Community Treasure Hunt

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

Start Hunting!

Translated by