图形自定义方向拉伸
来源:互联网 发布:淘宝盗图扣分 编辑:程序博客网 时间:2024/05/07 13:00
对一个二维图形,指定两个垂直方向,依照不同比例进行拉伸。如图
对某一节点到指定基点向量计算推演等式
以基点为原点,将目标坐标系顺时针旋转至直角系,然后进行xy轴向拉伸,再逆时针旋转回去
示例代码(以0、1两点方向为基准方向,0为基准点)
private IGeometry Scale(IGeometry ig){IPointCollection pc = ig as IPointCollection;IPoint bpt = gc.get_Point(0);IPoint npt = gc.get_Point(1);double angle = Math.Atan2(bpt.Y - npt.Y , bpt.X - npt.X);double xff = 2 , yff = 3;//拉伸系数IPointCollection tf = new PolygonClass();double p1 = xff * Math.Cos(angle) * Math.Cos(angle) + yff * Math.Sin(angle) * Math.Sin(angle);double p2 = (xff - yff) * Math.Cos(angle) * Math.Sin(angle) , p3 = p2;double p4 = xff * Math. Sin(angle) * Math. Sin(angle) + yff * Math. Cos(angle) * Math. Cos(angle);For(int i = 0;i<pc.Pointcount;i + + ){IPoint curPt = pc.get_Point(i);double x = curPt.X - bpt.X;double y = curPt.Y - bpt.Y;double dx = x * p1 + y * p3;double dy = x * p2 + y * p4;tf.AddPoint(new PointClass(){X = bpt.X + dx , Y = bpt.Y + dy}); } return tf as IGeometry;}
0 0
- 图形自定义方向拉伸
- Unity任意方向拉伸物体
- 一种快速图形拉伸算法
- 拉伸图形形成solid实例
- canvas画图时,图形被拉伸问题
- 自定义图形
- android自定义倾斜拉伸动画
- RatingBar 自定义 出现拉伸 重影
- iOS开发 自定义图片拉伸
- jQuery自定义slide方向
- jQuery自定义slide方向
- IOS 自定义手势方向
- 自定义segue的方向
- Android设计中的.9.png,某个方向上拉伸
- vc 自定义dialog可拉伸区域
- android 自定义ScrollView可上下拉伸
- 自定义ToggleButton背景图片拉伸的现象
- ProgressBar自定义图片拉伸的问题
- Ubuntu config git
- BootStrap--CSS布局--列表
- lintcode,螺旋矩阵
- videoview全屏问题
- 细致的C语言写贪吃蛇教程+详细思路-适合新手附源码
- 图形自定义方向拉伸
- dependencyManagement 和 dependencies 的区别
- iOS开发-Xib下进行多语言开发
- 常见Linux发行版的包管理工具速成指南
- JQuery的ajax方法
- Ubuntu 16.04安装NVIDIA GTX 1070和TensorFlow指南
- 卷积神经网络(CNN)标准模型分析(二)
- CodeForces 743D Chloe and pleasant prizes
- HDU 1114 Piggy Bank 完全背包