zdyhh007 发表于 2011-9-29 14:34

这个点如何找

本帖最后由 zdyhh007 于 2011-9-29 14:34 编辑


已知任意四边行。求在底边找一点a,使α=β。
      
            

576905077 发表于 2011-9-30 12:09

程序算法问题啊 自己设计

yujingxian 发表于 2011-10-3 17:13

从四边形最左下方顶点开始,逆时针将各个顶点分别设为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

zdyhh007 发表于 2011-10-4 11:28

不合题意,是说用AutoCAD 作图

yujingxian 发表于 2011-10-4 13:01

那你在MATLAB论坛中发什么贴!耽误大家时间!{:3_41:}

zdyhh007 发表于 2011-10-4 22:56

抱歉你想不来就闭口

shengshengchina 发表于 2011-10-16 20:00

zdyhh007 发表于 2011-10-4 22:56 static/image/common/back.gif
抱歉你想不来就闭口

这位兄台素质呢?人家辛苦帮你解答,还这么嚣张!

dzhuangzu 发表于 2011-10-20 23:38

人品问题{:3_50:}

邹咪 发表于 2012-1-13 17:54

zdyhh007 发表于 2011-10-4 22:56 static/image/common/back.gif
抱歉你想不来就闭口

这哥们太没素质了 谁会帮你啊  走错地方了还自以为是  无语
页: [1]
查看完整版本: 这个点如何找