线段长度计算以及相交、平移和旋转算法
来源:互联网 发布:淘宝旧版本安卓 编辑:程序博客网 时间:2024/04/28 20:44
线段平移。
function Line(from, to, color, dasharray){ this.from = from; this.to = to; this.color = typeof(color)=='undefined'?'black':color; this.dasharray = typeof(dasharray)=='undefined'?false:dasharray; }
移动方法
Line.prototype.move = function(d){ var r = Math.atan2(this.to.x-this.from.x, this.to.y-this.from.y)+Math.PI/2; var x = Math.sin(r)*d, y = Math.cos(r)*d; var x1 = this.from.x+x, y1 = this.from.y+y; var x2 = this.to.x+x, y2 = this.to.y+y; return new Line(new Point(x1, y1),new Point(x2, y2)); };
旋转
Line.prototype.rotate = function(alpha){ var l = Math.round(Math.sqrt( Math.pow((this.to.y-this.from.y), 2) + Math.pow((this.to.x-this.from.x), 2))); var r = Math.atan2(this.to.y-this.from.y, this.to.x-this.from.x)+Math.PI*alpha/180; var x = Math.cos(r)*l, y = Math.sin(r)*l; //var x2 = this. console.log('r:' + r + ', beta: ' + Math.round(180*(r/Math.PI)) + ', length: ' + l); var x2 = this.from.x+x, y2 = this.from.y+y; return new Line(this.from, new Point(x2, y2)); };
根据起点和角度、长度创建线段
var LineMaker = { make: function(from, alpha, l){ var to = new Point( from.x+l*Math.cos(Math.PI*alpha/180), from.y+l*Math.sin(Math.PI*alpha/180) ); return new Line(from, to); } }
0 0
- 线段长度计算以及相交、平移和旋转算法
- 控制线段旋转角度和长度
- 单应矩阵计算旋转角和平移量
- 【计算几何】线段相交
- 旋转和画图平移
- 箭头和平移线段的绘制算法备忘录
- 线段相交 算法摘记
- 线段相交算法
- 计算arcengine 线要素和面要素相交,每个面所截的线段长度
- poj1039(计算几何)线段相交
- 【计算几何】判断线段相交
- 计算二条线段相交
- 计算几何 线段相交 模板
- 旋转矩阵和平移矩阵
- python 图像平移和旋转
- 旋转变换和平移变换
- 16:计算线段长度
- 简单的纹理旋转以及平移操作
- 如何校验.ipa包、.dSYM、.crash文件的一致性
- leetcode笔记-Kth Smallest Element in a BST
- Java集合框架复习之规则集Set-HashSet(三)
- 扑克记忆
- Android 菜鸟季:BroadcastReceiver 和 Activity生命周期
- 线段长度计算以及相交、平移和旋转算法
- android------关于query的模糊查询的用法
- SQLite3使用
- Linux调整swap大小和swap性能优化
- PHP支付宝接口RSA验证
- 免费的论文查重网站
- Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法
- Java对单链表的实现
- UCSD计算生物学——1.Introduction