投影编程
⑴ 编程 3d 屏幕 投影 问题
//视图变换
procere DCXMatrixLookAtLH(var vMatrix: TDCXMatrix4;
vEye, vLookAt, vUp: TDCXVector3);
//投影变换
procere DCXMatrixPerspFovLH(var vMatrix: TDCXMatrix4;
vFovY, vWHRatio, vNearZ, vFarZ: Single);
//----------------------------------------------------------------------------
procere DCXMatrixLookAtLH(var vMatrix: TDCXMatrix4;
vEye, vLookAt, vUp: TDCXVector3);
var
xAxis, yAxis, zAxis: TDCXVector3;
begin
zAxis:= DCXVector3Subtract(vLookAt, vEye);
DCXVector3Normalize(zAxis);
xAxis:= DCXVector3CrossMul(vUp, zAxis);
DCXVector3Normalize(xAxis);
yAxis:= DCXVector3CrossMul(zAxis, xAxis);
vMatrix.m11:= xAxis.x;
vMatrix.m12:= yAxis.x;
vMatrix.m13:= zAxis.x;
vMatrix.m14:= 0.0;
vMatrix.m21:= xAxis.y;
vMatrix.m22:= yAxis.y;
vMatrix.m23:= zAxis.y;
vMatrix.m24:= 0.0;
vMatrix.m31:= xAxis.z;
vMatrix.m32:= yAxis.z;
vMatrix.m33:= zAxis.z;
vMatrix.m34:= 0.0;
vMatrix.m41:= -DCXVector3DotMul(xAxis, vEye);
vMatrix.m42:= -DCXVector3DotMul(yAxis, vEye);
vMatrix.m43:= -DCXVector3DotMul(zAxis, vEye);
vMatrix.m44:= 1.0;
end;
//----------------------------------------------------------------------------
procere DCXMatrixPerspFovLH(var vMatrix: TDCXMatrix4;
vFovY, vWHRatio, vNearZ, vFarZ: Single);
var
xScale, yScale, zCoef: Single;
begin
yScale:= Cot(vFovY / 2.0);
xScale:= yScale/ vWHRatio;
vMatrix.m11:= xScale;
vMatrix.m12:= 0.0;
vMatrix.m13:= 0.0;
vMatrix.m14:= 0.0;
vMatrix.m21:= 0.0;
vMatrix.m22:= yScale;
vMatrix.m23:= 0.0;
vMatrix.m24:= 0.0;
vMatrix.m31:= 0.0;
vMatrix.m32:= 0.0;
vMatrix.m33:= vFarZ /(vFarZ - vNearZ);
vMatrix.m34:= 1.0;
vMatrix.m41:= 0.0;
vMatrix.m42:= 0.0;
vMatrix.m43:= -vNearZ * vFarZ / (vFarZ - vNearZ);
vMatrix.m44:= 0.0;
end;
我知道怎么使用,但说不出来,自己研究吧,大意是用矩阵将坐标从一个空间变换到另一个空间
⑵ 墨卡托投影C++编程
我用的是C语言,希望对你有所帮助,程序如下:
#include<stdio.h>
#include<math.h>
int main()
{
float U,r0,e=0.081813334,a=6378245,x,y,r,u,p,t=3.1415926,g,h,l,x1,y1,N0;
float B,B0=30.0,L,L0=120.0;
for(B=10.0;B<=50.0;B=B+10.0)
for(L=100.0;L<=140.0;L=L+10.0)
{
h=e/2;
g=(1-e*sin(B/180*t))/(1+e*sin(B/180*t));
U=tan(t/4+(B/180*t)/2)*pow(g,h);
l=(L-L0)/180*t;
r=(a*cos(B/180*t))/(sqrt(1-e*e*sin(B/180*t)*sin(B/180*t)));
r0=(a*cos(B0/180*t))/(sqrt(1-e*e*sin(B0/180*t)*sin(B0/180*t)));
y=r0*l;
x=r0*log(U);
u=r0/r;
p=u*u;
x1=0.00001*x;
y1=0.00001*y;
printf("B=%2.0f\nL=%3.0f\nx1=%f\ty1=%f\t u=%f\t p=%f\n\n\n",B,L,x1,y1,u,p);
}
return 0;
}
⑶ 编程:数据库中的选择 投影 联接什么意思
选择和投影一般就是对数据库进行查询,投影运算从表中选出指定的属性值组成一个新表。符合哪些条件就是选择,从表中选出满足条件的行形成一个新表作为运算结果。联接是由多个表合并成一个表(视图)。
⑷ Ug8.5投影加工怎么编程
选择3d轮廓,选择要投影线,选择投影面
⑸ 51单片机串口控制投影机,如何编程,举例。谢谢!初学者。
初学者就不要玩这么高深的了
⑹ VC++编程实现对投影仪的开机关机代码,文档 或教学视频或学习网站都行, 能用给百分
很少有投影仪的厂商把开关机的API给你开放出来,除非你自己改装那个投影仪,然后做一个电路控制加上一个微控制单元,再给这个微控制单元做一个串口控制的内核,然后用VC6.0控制串口来控制开关。
也有开放API的厂商,不过他们的API可能会随着品牌的不同而不一样,这个需要你联系厂商要他们的资料。
⑺ 2.5次元投影仪自动编程为什么不准
什么牌子的 首先你编程的时候一定要每一步都正确的 然后你把自动测量后的零件单个测量试试一样不 ---专业影像仪销售维修
⑻ 全息投影如何编程 用的是什么软件 跪求
南京投石科技公司的虚拟翻书它是利用动作感应技术以及计算机多媒体技术实现的一种虚拟翻书的视觉效果。全息投影 幻影成像 内投球 电子沙盘 数字沙盘 全息成像 你先用关键字做工作
我们经常可以在科幻电影中见到一种三维的全息通讯技术,可以把远处的人或物以三维的形式投影在空气之中,就像电影《星球大战》中的场面。另外随着现在科学的发展,所有的设备都采用小型化和精密化,而现在的显示设备却无法与之相匹配,人类越来越需求一种新的显示技术来解决问题。现在的全系投影技术一共分为以下三种:1.在美国麻省一位叫Chad Dyne的29岁理工研究生发明了一种空气投影和交互技术,这是显示技术上的一个里程碑,它可以在气流形成的墙上投影出具有交互功能的图像。此技术来源海市蜃楼的原理,将图像投射在水蒸气上,由于分子震动不均衡,可以形成层次和立体感很强的图像。2.日本公司Science and Technology发明了一种可以用激光束来投射实体的3D影像,这种技术是利用氮气和氧气在空气中散开时,混合成的气体变成灼热的浆状物质,并在空气中形成一个短暂的3D图像。这种方法主要是不断在空气中进行小型爆破来实现的3.南加利福尼亚大学创新科技研究院的研究人员目前宣布他们成功研制一种360度全息显示屏,这种技术是将图像投影在一种高速旋转的镜子上从而实现三维图像,只不过好像有点危险可以说这些技术很多国家都在研制,毫不夸张的说这项技术它包含了未来,谁最先使用这项技术,谁就最先走入未来的先进技术行列。