在opengl中做图形扭曲的算法问题

_lee_chong 2016-08-18 02:56:19

我有一个长方形的图片,想渲染成圆弧形
我的想法是定下8个点 A1,B1,C1,D1 A2,B2,C2,D2 分别构成2条圆弧对应长方形的上下两边; A1,A2 D1,D2对应长方形高度

渲染时,以点P为例
(P到A1,B1,C1,D1 弧线的距离 / A1,A2的距离) 作为对应长方形纹理中的Y坐标
P点到A1,A2的弧线长度 作为 对应长方形纹理中的X坐标;

但是我图形算法不行,谁知道该怎么来计算"P到A1,B1,C1,D1 弧线的距离"和"P点到A1,A2的弧线长度"呢
...全文
1347 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
syy64 2016-09-09
  • 打赏
  • 举报
回复
点到直线的距离公式。查数学手册。
shiter 2016-08-25
  • 打赏
  • 举报
回复
引用 3 楼 shiter的回复:
http://transcoder.baidu.com/from=879a/bd_page_type=1/ssid=0/uid=0/pu=usm%400%2Csz%401320_1001%2Cta%40iphone_2_4.1_3_535/baiduid=D12B680C35BADB5B1831D5B42840FD46/w=0_10_OpenGL%E5%BD%A2%E5%8F%98/t=iphone/l=3/tc?ref=www_iphone&lid=16413903878873818606&order=5&fm=alop&tj=www_normal_5_0_10_title&vit=osres&m=8&srd=1&cltj=cloud_title&asres=1&nt=wnor&title=%E5%AE%9E%E9%AA%8C3OpenGL%E5%87%A0%E4%BD%95%E5%8F%98%E6%8D%A2-%E6%85%A2%E6%AD%A5%E5%89%8D%E8%A1%8C-%E5%8D%9A%E5%AE%A2%E5%9B%AD&dict=30&sec=14723&di=ee4e1b0564c44945&bdenc=1&tch=124.564.274.823.2.1223&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_ytK1DK6mlrte4viZQRAXS4qLnyKZpPPxXCBeMZHdWGdWWQm7BBOrxpps89hbXrdgPq3gR__GhMOfxsw4tv3&eqid=e3c9e69cfdae28001000000157bed552&wd=&clk_info=%7B%22srcid%22%3A%22www_normal%22%2C%22tplname%22%3A%22www_normal%22%2C%22t%22%3A1472124306245%2C%22xpath%22%3A%22div-a-h3%22%7D 几何变换?
http://www.cnblogs.com/opengl/archive/2012/10/30/2747130.html 百度太流氓了,啥都要插一脚上面那个地址是这个
shiter 2016-08-25
  • 打赏
  • 举报
回复
http://transcoder.baidu.com/from=879a/bd_page_type=1/ssid=0/uid=0/pu=usm%400%2Csz%401320_1001%2Cta%40iphone_2_4.1_3_535/baiduid=D12B680C35BADB5B1831D5B42840FD46/w=0_10_OpenGL%E5%BD%A2%E5%8F%98/t=iphone/l=3/tc?ref=www_iphone&lid=16413903878873818606&order=5&fm=alop&tj=www_normal_5_0_10_title&vit=osres&m=8&srd=1&cltj=cloud_title&asres=1&nt=wnor&title=%E5%AE%9E%E9%AA%8C3OpenGL%E5%87%A0%E4%BD%95%E5%8F%98%E6%8D%A2-%E6%85%A2%E6%AD%A5%E5%89%8D%E8%A1%8C-%E5%8D%9A%E5%AE%A2%E5%9B%AD&dict=30&sec=14723&di=ee4e1b0564c44945&bdenc=1&tch=124.564.274.823.2.1223&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_ytK1DK6mlrte4viZQRAXS4qLnyKZpPPxXCBeMZHdWGdWWQm7BBOrxpps89hbXrdgPq3gR__GhMOfxsw4tv3&eqid=e3c9e69cfdae28001000000157bed552&wd=&clk_info=%7B%22srcid%22%3A%22www_normal%22%2C%22tplname%22%3A%22www_normal%22%2C%22t%22%3A1472124306245%2C%22xpath%22%3A%22div-a-h3%22%7D 几何变换?
  • 打赏
  • 举报
回复
引用 楼主 lc316546079 的回复:
我有一个长方形的图片,想渲染成圆弧形 我的想法是定下8个点 A1,B1,C1,D1 A2,B2,C2,D2 分别构成2条圆弧对应长方形的上下两边; A1,A2 D1,D2对应长方形高度 渲染时,以点P为例 (P到A1,B1,C1,D1 弧线的距离 / A1,A2的距离) 作为对应长方形纹理中的Y坐标 P点到A1,A2的弧线长度 作为 对应长方形纹理中的X坐标; 但是我图形算法不行,谁知道该怎么来计算"P到A1,B1,C1,D1 弧线的距离"和"P点到A1,A2的弧线长度"呢
这个似乎用极坐标变换,就可以了。。 好吧,极坐标变换,我基本上时完全忘了。。。 如果你还记得,应当没有问题吧? 如果你不记得,笨办法就是,拆解成一条弧线对应一条直线的方法画。。。自己搞出来扭曲放大的代码。估计效果不好。。。
赵4老师 2016-08-18
  • 打赏
  • 举报
回复
搜“Beizer曲线”?

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧