算法题:直线上的3个点,求第二点的坐标。 本帖最后由 discolt 于 2009-06-30 00:37:47 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 假设p2的坐标是(x2,y2),求解方程组(x1-x3)/(y1-y3)=(x1-x2)/(y1-y2);(x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)=R*R; l* l = (x1 - x3)*(x1 - x3) + (y1 -y3) *(y1 - y3)然后用相似三角形R/l = (x2 - x3)/(x1-x3) = (y2-y3)/(y1-y3)有可能要注意下符号 我想考虑相对位移在X-Y坐标系中把P1移动到(0,0)相对位移是mov(x1,y1)这样p3(x3-x1,y3-y1)=(x3',y3');x2'/y2'=x3'/y3';x2'*x2'+y2'*y2'=R*R-y3'*y3'-x3'*x3'所得结果加上相对位移mov(x1,y1);这样解方程似乎简单些 x1-x3)/(y1-y3)=(x1-x2)/(y1-y2); (x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)=R*R;初中数学都忘了 ........ -_-!谁能帮忙解一下 ^_^打快了上面有误应该是这样x2'/y2'=x3'/y3'=(y3'-y2')/x3'-y2'; (y3'-y2')*(y3'-y2')-(x3'-x2')*(x3'-x2')=R*R x2'/y2'=x3'/y3'=(y3'-y2')/x3'-y2'; (y3'-y2')*(y3'-y2')-(x3'-x2')*(x3'-x2')=R*R (y3'-y2')*(y3'-y2')-(x3'-x2')*(x3'-x2')=R*R 恩,应该是2解,一个在p1p3中间,另一个在p1p3延长线上。 p1,p3求斜率 在求上下两个P2点double scale = (y3-y1)/(x3-x1);==》求出sin值 ,cos值 ==》x y 差值都为正 xy取反在求另一个p2点画圆求交点也是要求解方程组了 直接求也没什么笨吧 double scale = (y3-y1)/(x3-x1);double rad = Math.atan(scale);double sin = Math.sin(rad);double cos = Math.cos(rad);double alx = R * cos;double aly = R * sin;p2--> (x3 - alx),(y3 - aly)p2->(x3 + alx),(y3 + aly)不知道是否是正解 LZ啊,这纯粹是道数学题啊我的做法:根据p1(x1,y1) p3(x3,y3)可以算出P1和 P3的距离L,然后根据L-R和R得比例推出P2的坐标思路就是这样的,至于具体算法LZ自己动手吧 后台在jsp页面生成一张表,表的每一行数据后对应一个按钮 发送email问题 使用poi如何将数据依照规定样式导出到excel中 请问一个关于forward的问题 如何使用flex开发图表 关于java设计模式 ssh整合 连接数据库 启动tomcat 报错 如何用j2ee打造web最安全的登陆程序 Sun One Directory Server 安装时出错问题? 年终散分,谢谢大家平时对我所做的帮助 dataSource没有注入 初学hiberate 左连接 一对多的问题(着急)
求解方程组
(x1-x3)/(y1-y3)=(x1-x2)/(y1-y2);
(x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)=R*R;
在X-Y坐标系中
把P1移动到(0,0)相对位移是mov(x1,y1)这样p3(x3-x1,y3-y1)=(x3',y3');x2'/y2'=x3'/y3';x2'*x2'+y2'*y2'=R*R-y3'*y3'-x3'*x3'所得结果加上相对位移mov(x1,y1);这样解方程似乎简单些
(x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)=R*R;初中数学都忘了 ........ -_-!谁能帮忙解一下
应该是这样x2'/y2'=x3'/y3'=(y3'-y2')/x3'-y2';
(y3'-y2')*(y3'-y2')-(x3'-x2')*(x3'-x2')=R*R
double scale = (y3-y1)/(x3-x1);
==》求出sin值 ,cos值 ==》x y 差值都为正 xy取反在求另一个p2点
画圆求交点也是要求解方程组了 直接求也没什么笨吧
double rad = Math.atan(scale);
double sin = Math.sin(rad);
double cos = Math.cos(rad);
double alx = R * cos;
double aly = R * sin;
p2--> (x3 - alx),(y3 - aly)
p2->(x3 + alx),(y3 + aly)
不知道是否是正解
我的做法:根据p1(x1,y1) p3(x3,y3)可以算出P1和 P3的距离L,然后根据L-R和R得比例推出P2的坐标
思路就是这样的,至于具体算法LZ自己动手吧