球面贴图的问题:如何在圆球上贴文字,产生立体效果,不要OpenGL,DirectX的,要的是算法。

大可山人
博客专家认证
2005-09-15 10:30:24
可以简化到以圆球正视图的中心点为圆心作立体的凸透变换。最好是C#代码。
...全文
587 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZHANGKAN 2010-06-09
  • 打赏
  • 举报
回复
iwaiwai 2005-09-23
  • 打赏
  • 举报
回复
又看了一眼

好像也没特别明确 嘿嘿

搂主对我的答复满意否

iwaiwai 2005-09-23
  • 打赏
  • 举报
回复
所有的连续曲面都可以用个参数方程来表达
v = f (s, t) 其中s, t是可以归一化到0-1的参数,
可以直接当成贴图的u, v v是三维坐标。
例如 球面就是 v.x = sin(s*PI)*sin(t*PI)
v.y = cos(s*PI)*sin(t*PI)
v.z = cos(t*PI)
因此可以很容易的从均匀分布的uv得到x,y,z坐标。
反过来推从xyz坐标到uv。
就是求上面那个方程的反方程. 解解看吧。

其实游戏开发版的一个xd回复也很明确了,你也说了要的是“算法”,干吗一定要代码呢

式子有了。用一下反三角函数不就好了
大可山人 2005-09-23
  • 打赏
  • 举报
回复
楼上兄弟还没有说得很明白,有C++或C#代码么?这个问题困扰了我N久,谢谢了!
大可山人 2005-09-22
  • 打赏
  • 举报
回复
同意加分到200,都没有人可以给出答案。这个很难吗?高手们都到哪里去了?
大可山人 2005-09-21
  • 打赏
  • 举报
回复
楼上兄弟:解决后加分,可以加到200分。
captainchain 2005-09-20
  • 打赏
  • 举报
回复
才40分,LZ真小气 ̄ ̄ ̄
captainchain 2005-09-20
  • 打赏
  • 举报
回复
这么简单都8知道,偶来说道说道 ̄ ̄ ̄ ̄
文字是一个平面,是由N条直线组成
球是一个曲面,由N条圆环组成
把平面变成曲面,等同于把N条直线变成N条曲线
直线变曲线,根据球的直径等参数控制其变化的程度
最简单的是由一条直线变成8条BEZIER曲线
将其中直线上的象素如此映射到曲线上,如此重复,直到平面上的象素都映射到曲面上
大可山人 2005-09-19
  • 打赏
  • 举报
回复
关键是不知道算法
chiyuwang 2005-09-19
  • 打赏
  • 举报
回复
1,看一下scanline的算法(http://www.devmaster.net/articles/software-rendering/part3.php)
2,读取像素矩阵
3,再看一下midmap算法(网址不太清楚)
就没问题了
summer54 2005-09-19
  • 打赏
  • 举报
回复
取得象素矩阵,每个象素沿sin方向移动一段距离.具体的例子forum.nokia.com上有
zzwu 2005-09-19
  • 打赏
  • 举报
回复
1.首先,你要设法得到所写文字的点阵(如为空心字,则还得了解字的轮廓笔划);
2.接着就是确定文字点阵的每一个点或每一个笔划如何在球面上放法;
3.最后就是把球面投影到平面.
tangt 2005-09-16
  • 打赏
  • 举报
回复
是指ps当中那个***滤镜的效果吗?
你试试用球心做原点,x,y轴两个夹角作均匀增量,然后投影到z平面上....,
如果是球体,结果是不是按照0-180对x,y两轴数据作sin,cos的重新排列。。。。。
summer54 2005-09-15
  • 打赏
  • 举报
回复
UP

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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