【发布时间】:2014-01-15 03:10:44
【问题描述】:
假设定义的函数以点 (a,b) 开始,以点 (c,d) 结束。我如何翻转这个函数关于它的垂直中心线(由 x = (c-a)/2 描述)?
提前致谢!
c = 5.2;
alpha = 0;
R = [cosd(alpha) sind(alpha) 0; -sind(alpha) cosd(alpha) 0; 0 0 1];
l1_vector = [-sqrt(3)*c; 0; 0];
l1_prime = R*l1_vector;
iter = 1;
for i=1:1201
R = [cosd(alpha) sind(alpha) 0; -sind(alpha) cosd(alpha) 0; 0 0 1];
l1_prime = R*l1_vector;
a = l1_prime(1)
b = l1_prime(2);
alpha = alpha+.1;
data1(iter,1:2)=[a,b];
iter=iter+1;
end
a = data1(:,1);
b = data1(:,2);
plot(wrev(a)+a(end)-a(1),b)
axis equal
【问题讨论】:
-
你已经尝试过什么,为什么没有成功?
-
在这种反射中,我知道 y 坐标不会改变。 x坐标理论上可以通过将中心线左侧的每个数据点添加到该点与中心线之间的每个水平差来计算,并对中心线右侧的点做同样的事情但减去.无论出于何种原因,这对我不起作用并给了我错误的结果。它似乎也比它需要的更乏味。
标签: matlab function plot mirror