MDX之平移与旋转(1)

做项目一年,虽然说没有学得很好,但一年来,自己学的东西也比较多,也有了一些经验,正如我前面说的现在没有事做就多写,等过两天就不会有这么多的时间了,项目一开始,那可就没有多少时间了。

我做的那个项目是地质相关的项目,就会有一些必不可少的图形的显示,二维方面老师自己做的非常好了,但在3D方面大家都没有什么经验,就只有靠自己去摸索了,在自己摸索的过程中,最头疼的就是没有资料,在就是问别人没有一个人回答你,问了别人还被说成叫自己去按书一步一步敲例子,把人都气死,好了,我现在就将我在学习的时候遇到的两个困扰我两个月的问题写出来,供大家参考,也请大家多交流。

说到平移,就不得不说到两种投影模式,一种是平行映射模式,另一种是透视投影模式。

所谓平行投影模式,就是将模型上的每一点,都垂直投射到屏幕上,注意是直接。不考虑模型与屏幕的距离远近,投射在屏幕上时都与实际大小相同。而透视投影就与我们平时的视角比较接近,物体符合“近大远小”的视觉习惯。就是下图


这一种形式就是我们在所有的现有资料中用的模式,是不是,可是大家有没有想过,如果我把投影模式换成平行方式会怎么样呢?

// 透视投影
device.Transform.Projection = Matrix.PerspectiveFovLH((float)Math.PI / 4, (float)this.Width / this.Height, min, max);
// 正交投影
device.Transform.Projection = Matrix.OrthoLH(this.Width, this.Height, min, max);

这个也恰恰就是关键所在,只是换一下投影模式就可以了,达到非常好的平移效果,现在想想,原来为了达到eyeshot的那种鼠标移动的功能我足足看那种效果几个小时,现在想想却一分钱也不值,现在感谢林锐博士,因为就是看他的程序我才解决这个问题的,现在放上他的程序,注意在用的时候,一定要注意要选择平行投影模式,否则是不会达到我说的效果的。明天就写平移,那个可不是一下子就说的好的。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索项目
, 屏幕投射
, 模式
, 透视
, 平移
, 投影
正交投影照相机
图形的平移与旋转、平移与旋转、平移和旋转、平移旋转轴对称图案、平移和旋转ppt,以便于您获取更多的相关知识。

时间: 2024-11-08 22:08:14

MDX之平移与旋转(1)的相关文章

MDX之平移与旋转(2)

昨天我发过了平移的一篇文章,就有人说都有现存的算法存在了,不错,我要提醒一下,我并不是什么技术高超的学者,或者说是某某研究员,那么我的算法怎么来呢,有人说过天下文章一大抄,看你会抄不会抄,不知道大家有没有去过那些论文网站,有没有去那里找过什么论文,反正我是常去的,你去了你就会发现,他们的那些很多算法也是别人已经做过,已经写过的. 我发在这里也只是想起到一种提醒的作用,要说让我自己想一个什么高深的算法,我自认现在还没有那个水平. 首先,在MDX中要通过鼠标的旋转就知道,鼠标这时的移动并不是在一个平

Android实现对图片放大、平移和旋转的功能_Android

先来看看要实现的效果图 在讲解中,需要大家提前了解一些关于图片绘制的原理的相关知识. 关于实现的流程      1.自定义View      2.获得操作图片的Bitmap      3.复写View的onTouchEvent()方法中的ACTION_DOWN,ACTION_POINTER_DOWN,ACTION_MOVE,ACTION_POINTER_UP以及ACTION_UP事件.      4.定义相应图片变化的Matrix矩阵,通过手势操作的变化来设置相应的Matrix.      5.

图像处理-识别具有平移,旋转的图像,并与图像比对,粗率计算出平移度与旋转度

问题描述 识别具有平移,旋转的图像,并与图像比对,粗率计算出平移度与旋转度 给出一张发生了旋转和平移的图像,和源图像进行比对,计算旋转了多少度,平移了多少,且两张图片并不是完全一样的,,略有差别 解决方案 http://www.cesclub.com/bw/jishuzhongxin/bianchengyuyan/2013/0313/56734.html 解决方案二: 你百度搜索一下"傅里叶梅林变换",可以找到好多资料.可以对旋转和平移的相似图像进行配置.能够计算出平移量和旋转.

WPF/Silverlight中图形的平移,缩放,旋转,倾斜变换演示

原文:WPF/Silverlight中图形的平移,缩放,旋转,倾斜变换演示 为方便描述, 这里仅以正方形来做演示, 其他图形从略. 运行时效果图: XAML代码:// Transform.XAML <Canvas Width="700" Height="700" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  xmlns:x="http://sc

交互式QGraphicsView(平移/缩放/旋转)

简述 Graphics View提供了一个平台用于大量自定义 2D 图元的管理与交互框架包括一个事件传播架构支持场景 Scene 中的图元 Item 进行精确的双精度交互功能.Item 可以处理键盘事件.鼠标按下.移动.释放和双击事件同时也能跟踪鼠标移动. 和 Google 地图一样在管理大量 Item 的时候通常需要 View 具有交互平移/缩放/旋转功能. 简述 交互式 QGraphicsView 效果 源码 交互式 QGraphicsView 便于以后复用实现一个交互式 QGraphics

Android实现对图片放大、平移和旋转的功能

先来看看要实现的效果图 在讲解中,需要大家提前了解一些关于图片绘制的原理的相关知识. 关于实现的流程 1.自定义View 2.获得操作图片的Bitmap 3.复写View的onTouchEvent()方法中的ACTION_DOWN,ACTION_POINTER_DOWN,ACTION_MOVE,ACTION_POINTER_UP以及ACTION_UP事件. 4.定义相应图片变化的Matrix矩阵,通过手势操作的变化来设置相应的Matrix. 5.完成最终的Matrix设置时,通过invalida

[C#] Graphics平移缩放旋转

[平移] private void btnTranslate_Click(object sender, EventArgs e) { Graphics graphics = this.CreateGraphics(); // 红色笔 Pen pen = new Pen(Color.Red, 5); Rectangle rect = new Rectangle(0, 0, 200, 50); // 用红色笔画矩形 graphics.DrawRectangle(pen, rect); // 向左平移

Android单点触控实现图片平移、缩放、旋转功能_Android

相信大家使用多点对图片进行缩放,平移的操作很熟悉了,大部分大图的浏览都具有此功能,有些app还可以对图片进行旋转操作,QQ的大图浏览就可以对图片进行旋转操作,大家都知道对图片进行缩放,平移,旋转等操作可以使用Matrix来实现,Matrix就是一个3X3的矩阵,对图片的处理可分为四个基础变换操作,Translate(平移变换).Rotate(旋转变换).Scale (缩放变换).Skew(错切变换),如果大家对Matrix不太了解的话可以看看这篇文章(点击查看),作者对每一种Matrix的变换写

基于Android 实现图片平移、缩放、旋转同时进行_Android

前言 之前因为项目需求,其中使用到了图片的单击显示取消,图片平移缩放功能,昨天突然想再加上图片的旋转功能,在网上看了很多相关的例子,可是没看到能同时实现我想要的功能的. 需求: (1)图片平移.缩放.旋转等一系列操作后,图片需要自动居中显示. (2)图片旋转后选自动水平显示或者垂直显示 (3)图片在放大缩小的同时都能旋转 Demo实现部分效果截图 Demo主要代码 Java MainActivity.java package com.practice.noyet.rotatezoomimagev