三维视口上文字的正方向

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源)

什么是屏幕文字的正方向,通常情况下位于屏幕平面,文字方向从左向右,上方向指向屏幕上方。

对于Ogre三维情况来说,就需要考虑视口投影效果了。

要想理解清楚这个方向,我们首先需要先理解下三维图形在屏幕上的生成原理:

照像机的话,通过镜头,把镜头视角内的图像成形到屏幕上,对于镜头来说,可以理解是镜头发出的光或是物体发出的光被镜头捕捉到。

镜头看的方向中心点称为焦点,焦点物体的反射光射向了镜头,镜头视口范围内的所有物体,都把反射光射向了镜头,从而镜头捕捉头图像,显示到屏幕上。

我们可以把镜头理解为一个视觉球体的球心,周围的物体位于球面上。照相机显示的图像就镜头视角内的球面上的物体,延物体射向镜头的光线方向,投影到焦点所在平面,这也就生成了屏幕上的图形了。

这其中我们要注意到一个细节,延物体射向镜头的光线方向,这也就是为什么在屏幕上成像的时候,近大远小。也是为什么我们看到一条很直的公路的远处越来越窄。

理解了上面的文字之后,我们再考虑文字的正方向的话。

就能够认识到,如果把镜头理解为地球的球心的话,文字的正方向,类似于地球的纬度,文字的上方向类似于地球的经度。

镜头的上方向,与物体射向镜头的光线组了经线面,文字的正方向垂直于该面。(同时经纬线也是互相垂直的)。

这样得出的文字方向就是垂直于物体射向镜头的方向的。并且文字上方向也垂直于物体射向镜头的方向。

当然也有一些特例,如果镜头离我们非常远(例如太阳是镜头,地球是物体),或是物体位于焦点上时,正方向就是从左往右,上方向就是镜头的上方向了。

文字使用正方向的时候,我们会看到文字是平铺在屏幕上, 并且是从左向右平铺; 阅读起来最为方便。

相同的道理,如果是从上往下的文字,也是类似的原理:

有了文字正方向的定义之后,一些相关文字调节就有了依据。Ogre上的文字如果需要动态调整时,可以以正方向作为参考进行调整即可。

时间: 2024-11-09 01:59:22

三维视口上文字的正方向的相关文章

点击UIWebView上文字调用方法

有的时候应用中需要通过点击网页中的文字或者按钮调用一个方法或事件,这时需要我们将网页与应用之间建立联系. 1.和服务器人员约定一个协议例如ios:// 2.当点击网页上文字或按钮时,跳转这个约定协议的路径 3.通过webview代理方法监听url,判断是哪个操作决定调用方法. window.location.href = 'iso://openCamer'; #pragma mark - UIWebViewDelegate /** 当webView发送一个请求之前都会调用这个方法, 返回YES,

iOS 设置导航栏的颜色和导航栏上文字的颜色

#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @end #import "AppDelegate.h" #import "KeyViewController.h" @interface AppDelegate () @end

JS让网页上文字出现键盘打字的打字效果

一个挺简单的网页特效:JS让网页上文字出现键盘打字的打字效果实现 演示地址:http://codepen.io/guihailiuli/pen/jPOYMZ 以代码形式实现过程分析: <html> <head> <title>打字效果</title> <meta http-equiv="Content-Type" Content="text/html;charset=gb2312" /> <style

iOS按钮设置图片在上文字在下

UIButton同时设置Title和Image后,默认是图片在左文字在右,如下图1,很多情况下我们希望图片在上图片在下,如下图2,只需要简单的几行代码,即可实现. (1)因为需要处理多个按钮,所以将实现代码封装为一个方法,把每个UIbutton实例作为参数传入即可,代码如下: -(void)initButton:(UIButton*)btn{ btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;//

python中,使用matplotlib绘图时,图片上文字无法显示问题。

在使用python过程中,我们往往需要使用matplotlib进行图片的绘制,在绘图过程中,我们有时需要在图片上进行文字的显示,在使用过程中,会出现文字无法显示的问题.如下图: 遇到上述问题我们只需在代码中加入如下语句即可解决: from pylab import mpl mpl.rcParams['font.sans-serif'] = ['SimHei']如下图: 原文地址:https://www.cnblogs.com/Leo-Xia/p/9997408.html

div+css(ul li)实现图片上文字下列表布局

css样式表代码: html布局代码: 效果图: html布局部分,可根据自己需要添加对应的div即可. 1.CSS关键样式单词解释 1).ul.imglist{ margin:0 auto; width:536px; overflow:hidden}使用margin:0 auto,让ul结构布局居中:使用overflow:hidden,因为ul的子级使用float属性会产生浮动,所以使用清除子级使用float对父级产生不能撑开问题:使用宽度width:536px;固定宽度让子级li准确一排只排

识别图片上文字的软件

在上海这样的大城市想要生存下去不仅要过硬的知识基础,还要紧跟时代的脚步,不然随时都可能被淘汰.同一职位可以有巨大的差距,有的前台每天就只是做着可有可无的工作,每天接收到文件就直接发给需要的部门,这样的人员就算哪一天帮你不再了对公司也没有任何的影响,各部门自己接受一下就是.但是如果是这样一位前台,每天会按照你需要的要求把接收到的文件做好处理,拿到文件直接就能够使用,就拿扫描文件来说,前台收到的时候会帮你转换成word,这样使用的时候就能够直接使用,有一天前台不在,你拿到的是扫描文件,是不是会非常的

如何快速识别提取图片上的文字

我们在日常工作中,我们经常会遇到将图片上文字转换成Word文档这样的情况,要知道, 图片上的文字是不能直接复制的,这是一件令人头疼的一件事情.那么要怎样才能快速的 提取这些图片的文字呢? 快速识别提取图片上的的文字的方法--迅捷文字识别小程序 1.首先打开手机微信,在微信上搜索迅捷文字识别,这是一个可以快速识别图片上 的文字的小程序,是一个比较智能的工具. 2.找到小程序之后,点击进入小程序的主界面,点击"照片/拍照". 3.再点击"选择图片". 4.选择一张你手机

如何用手机去识别图片上的文字?

在当今这个时代,我们经常会使用手机去拍摄一些图片,这样就可以保存一些东西了.小编经常会拍摄一些学习的东西,这样的会更方便一些.时间久了,图片可能因为占用了太多的空间会被我们删除,但是我们记录的内容就没有了.小编在这里就分享给大家一个用手机去识别图片上文字的操作. 第一步:首先,我们需要打开手机上的OCR文字识别软件,进入到功能选择的页面. 第二步:在功能选择的页面里点击上传图片识别,会访问我们的相册,从我们的相册里选择需要识别的图片. 第三步:把我们要识别的图片添加进去,点击"立即识别"