关于文本变扇形的算法思考

怎么把一个文本变换成扇形文本

这里有一基础是以哪一条线作为等长线做变换,我们来这里是假定以文字下边缘的线为等长线,这样等长线上的点的Y坐标(和圆心Y坐标的差值)等于变换后的这一点的角度(和0角度差值)的圆弧的长度是相等的。这样关键是确定这个角度(a),圆弧长度公式L=2*Pi*r*a/360  a=360L/(2*Pi*r)x=cos(a)*r y=sin(a)*r。这样就确定了一条线上点的位置,然后是其他的点。Y坐标相同的角度相同,x=cos(a)*(r+X) y=sin(a)*(r+X)   。这里的X,Y是和基点(即第文字左下角)的差值,x,y是变换后的点的坐标,r是圆心和基点的距离(即半径),L是弧长。

时间: 2024-10-14 01:57:40

关于文本变扇形的算法思考的相关文章

关于文本相似度-LD算法和余弦算法的比较

具体算法代码网上有现成的工具类.不一一列举了.我在做某个项目的时候发现LD算法有个弊端.就是对于较大文本(>5w)的相似度计算会特别慢,原因在于LD的计算形式是: LD 可能衡量两字符串的相似性.它们的距离就是一个字符串转换成那一个字符串过程中的添加.删除.修改数值.如果文本变的非常的大可以想象计算的次数 如果两个字符串都是20000字符,则LD矩阵的大小为20000*20000*2=800000000Byte=800MB.故,在比较长字符串的时候,还有其他性能更好的算法. 下面介绍下余弦算法 

STL学习笔记(变序性算法)

变序性算法改变元素的次序,但不改变元素值. 这些算法不能用于关联式容器,因为在关联式容器中,元素有一定的次序,不能随意变动. 逆转元素次序 void reverse(BidirectionalIterator beg,BidirectionalIterator end) OutputIterator reverse_copy(BidirectionalIterator sourceBeg,BidirectionalIterator sourceEnd, OutputIterator destBe

textarea文本域保存的一些思考

textarea文本域保存文本到数据库的时候,数据要做一定的处理,否则数据库的内容不能正确显示在页面上.主要原因就是换行符的不一致造成的. 具体思路是:(1)页面上的内容存到数据库的时候,要把换行符转换成"<br/>": 我在action层: // 使用这句话对页面上传过来的换行符进行处理 liwei 20140724 1115 assignment_teacher_comment = assignment_teacher_comment.replaceAll("

算法思考

A - Count on Canton Time Limit:1000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64u Submit Status Description One of the famous proofs of modern mathematics is Georg Cantor's demonstration that the set of rational numbers is enumerable.

文本分类入门-特征选择算法之开方检验

http://www.blogjava.net/zhenandaci/archive/2008/08/31/225966.html 前文提到过,除了分类算法以外,为分类文本作处理的特征提取算法也对最终效果有巨大影响,而特征提取算法又分为特征选择和特征抽取两大类,其中特征选择算法有互信息,文档频率,信息增益,开方检验等等十数种,这次先介绍特征选择算法中效果比较好的开方检验方法. 大家应该还记得,开方检验其实是数理统计中一种常用的检验两个变量独立性的方法.(什么?你是文史类专业的学生,没有学过数理统

分布式唯一id:snowflake算法思考

匠心零度 转载请注明原创出处,谢谢! 缘起 为什么会突然谈到分布式唯一id呢?原因是最近在准备使用RocketMQ,看看官网介绍: 一句话,消息可能会重复,所以消费端需要做幂等.为什么消息会重复后续RocketMQ章节进行详细介绍,本节重点不在这里. 为了达到业务的幂等,必须要有这样一个id存在,需要满足下面几个条件: 同一业务场景要全局唯一. 该id必须是在消息的发送方进行产生发送到MQ. 消费端根据该id进行判断是否重复,确保幂等. 在那里产生,和消费端进行判断等和这个id没有关系,这个id

红包算法思考和总结

参考: http://mp.weixin.qq.com/s?__biz=MzI2NjA3NTc4Ng==&mid=402360599&idx=1&sn=69318b235e0e8b402d6fc566a3355af4&scene=0#wechat_redirect 进入知乎<微信红包的随机算法是怎样实现的>查看更多人的算法. 最近看到抢红包这么火,早就想尝试去把抢红包的功能试着去做一做了.刚好今天看到参考的网址,就产生了这一篇总结性的文章了. 我的早期逻辑猜想?

技术积累--常用的文本分类的特征选择算法

常采用特征选择方法.常见的六种特征选择方法: 1)DF(Document Frequency) 文档频率 DF:统计特征词出现的文档数量,用来衡量某个特征词的重要性 2)MI(Mutual Information) 互信息法 互信息法用于衡量特征词与文档类别直接的信息量. 如果某个特征词的频率很低,那么互信息得分就会很大,因此互信息法倾向"低频"的特征词. 相对的词频很高的词,得分就会变低,如果这词携带了很高的信息量,互信息法就会变得低效. 3)(Information Gain) 信

文本去重之MinHash算法

1.概述 跟SimHash一样,MinHash也是LSH的一种,可以用来快速估算两个集合的相似度.MinHash由Andrei Broder提出,最初用于在搜索引擎中检测重复网页.它也可以应用于大规模聚类问题. 2.Jaccard index 在介绍MinHash之前,我们先介绍下Jaccard index. Jaccard index是用来计算相似性,也就是距离的一种度量标准.假如有集合A.B,那么, 也就是说,集合A,B的Jaccard系数等于A,B中共同拥有的元素数与A,B总共拥有的元素数