Interpolate value between arc
    5 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
Note that now I have this function to create my arc
a=[1 1]; %P1
b=[9 9]; %P2
r=10;     %radius
syms x y
[x,y]=solve((x-a(1))^2+(y-a(2))^2==r^2,(x-b(1))^2+(y-b(2))^2==r^2,x,y);
syms X Y
ezplot((X-x(1))^2+(Y-y(1))^2==r^2,[min(a(1),b(1)),max(a(1),b(1)), ...
    min(a(2),b(2)),max(a(2),b(2))])
axis equal
ezplot((X-x(2))^2+(Y-y(2))^2==r^2,[min(a(1),b(1)),max(a(1),b(1)), ...
    min(a(2),b(2)),max(a(2),b(2))])
axis equal
After plotting the arc, I need to know the points lie between the arc with random interpolate points n
How to do this?
3 Kommentare
Antworten (3)
  Walter Roberson
      
      
 am 19 Nov. 2017
        The equation you are using is a circle centered at x(1), y(1) with radius r. You know the endpoints; you can convert them into polar coordinates relative to the center. Now use linspace(first_theta, second_theta, 10) as the angle and r as the radius and put that through pol2cart, add x(1), y(1) to get the cartesian coordinates of the points of interest.
9 Kommentare
  Walter Roberson
      
      
 am 22 Nov. 2017
				Ah... I just tried again and this time ezplot worked, at least in R2017b. You could try changing to ezplot()
  Roger Stafford
      
      
 am 19 Nov. 2017
        
      Bearbeitet: Walter Roberson
      
      
 am 19 Nov. 2017
  
      I contend the right way to do that task is to calculate the center of the circular arc you have defined, and then generate the plotted arc using a varying angle that swings from the first point to the second point. You can carry out the desired interpolations in terms of values of this arc angle using 'interp1'.
You might be interested in the following "Answers" contribution:
(which I think was asked by you, TS Low.)
1 Kommentar
  Roger Stafford
      
      
 am 19 Nov. 2017
				You should not expect the contributors who answer questions to do all your work for you. It should be sufficient to indicate the solution to difficulties you are facing. You should fill in the rest of the details yourself. Otherwise, how are you going to learn Matlab programming?
  Image Analyst
      
      
 am 19 Nov. 2017
        Try spline(). See my attached demo.

3 Kommentare
  Image Analyst
      
      
 am 19 Nov. 2017
				Of course you could use spline, but actually I think Walter's linspace idea is much simpler.
Siehe auch
Kategorien
				Mehr zu Linear Algebra finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


