王骏的博客
编程、网络技术点滴...

公告

逐渐将VC知识库的博客迁移到这里!

随笔分类

随笔档案

相册

最新评论

阅读排行榜

评论排行榜

程序员博客   首页  新随笔  订阅  管理  登录 
 
JO2000 阅读(547) 评论(0)

已知三角形3个顶点坐标:(x1,y1), (x2,y2), (x3,y3)

以及旋转拉伸后的两个顶点坐标:(xp1,yp1), (xp2,yp2)
计算第三个顶点坐标xp3,yp3

 

以下是javascript代码:

x1=5,y1=2;
x2=8,y2=5;
x3=8,y3=2;
xp1=500,yp1=100;
xp2=600,yp2=400;
p=(x3-x1)*(x2-x1) + (y3-y1)*(y2-y1);
q=-(x3-x1)*(y2-y1) + (y3-y1)*(x2-x1);
r=Math.pow((x2-x1),2)+Math.pow((y2-y1),2);
xp3=xp1+(p*(xp2-xp1)-q*(yp2-yp1))/r;
yp3=yp1+(p*(yp2-yp1)+q*(xp2-xp1))/r;

非常感谢此文的作者:http://math.stackexchange.com/questions/1819538/coordinate-transform-a-triangle


打赏作者

如果本文对您有帮助,请打赏支持一下作者,谢谢您!


微信打赏

支付宝打赏

发表评论
切换编辑模式