投影編程
⑴ 編程 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度全息顯示屏,這種技術是將圖像投影在一種高速旋轉的鏡子上從而實現三維圖像,只不過好像有點危險可以說這些技術很多國家都在研製,毫不誇張的說這項技術它包含了未來,誰最先使用這項技術,誰就最先走入未來的先進技術行列。