这个点如何找
本帖最后由 zdyhh007 于 2011-9-29 14:34 编辑已知任意四边行。求在底边找一点a,使α=β。
程序算法问题啊 自己设计 从四边形最左下方顶点开始,逆时针将各个顶点分别设为A,B,C,D,坐标分别设为(x1,y1),(x2,y2),(x3,y3),(x4,y4).所求顶点应该在AB边上,设为E,其坐标为(x1+k(x2-x1),y1+k(y2-y1)),其中k是未知的,所要求的。据你要求,角ADE=角BCE,利用余弦定理,令两角的余弦值相等可以求出K。
MATLAB代码如下:
function =abcd(x,y)%x为ABCD四点的横坐标,y为ABCD四点的纵坐标;
syms k;
tx=x(1)+k*(x(2)-x(1));%E点横坐标;
ty=y(1)+k*(y(2)-y(1));%E点纵坐标;
a=sqrt((x(4)-x(1))^2+(y(4)-y(1))^2);%余弦定理用;
e=sqrt((x(3)-x(2))^2+(y(3)-y(2))^2);%余弦定理用;
b=sqrt((x(4)-tx)^2+(y(4)-ty)^2);%余弦定理用;
c=sqrt((x(1)-tx)^2+(y(1)-ty)^2);%余弦定理用;
d=sqrt((x(3)-tx)^2+(y(3)-ty)^2);%余弦定理用;
f=sqrt((x(2)-tx)^2+(y(2)-ty)^2);%余弦定理用;
f=(a^2+b^2-c^2)/2/a/b-(d^2+e^2-f^2)/2/d/e;%两角余弦之差;
tmp=solve(f);
x0=x(1)+tmp*(x(2)-x(1));
y0=y(1)+tmp*(y(2)-y(1));
px=;
py=;
plot(px,py);
axis equal;
end 不合题意,是说用AutoCAD 作图 那你在MATLAB论坛中发什么贴!耽误大家时间!{:3_41:} 抱歉你想不来就闭口 zdyhh007 发表于 2011-10-4 22:56 static/image/common/back.gif
抱歉你想不来就闭口
这位兄台素质呢?人家辛苦帮你解答,还这么嚣张! 人品问题{:3_50:} zdyhh007 发表于 2011-10-4 22:56 static/image/common/back.gif
抱歉你想不来就闭口
这哥们太没素质了 谁会帮你啊 走错地方了还自以为是 无语
页:
[1]