- 浏览: 85295 次
- 性别:
- 来自: 北京
最新评论
文章列表
<%@ page contentType="text/xml; charset=gb2312" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%>
<%
Connection conn;
Statem ...
- 2008-04-27 16:29
- 浏览 3556
- 评论(0)
学习使用建模符号。
在不丢失任何关键信息的前提下,用数据建模工具描述现有数据模型。
寻找一个对你的数据库提供全面支持的工具,例如在生成SQL、从现有数据模式通过反向工程建立数据模型时。
- 2008-04-27 11:07
- 浏览 861
- 评论(0)
三维空间中的向量
几何学中,我们用有向线段表示向量,如图1。向量的两个属性是他的长度和他的顶点所指的方向。因此,可以用向量来模拟既有大小又有方向的物理模型。例如,以后我们要实现的粒子系统。我们用向量来模拟粒子的速度和加速度。在3D计算机图形学中我们用向量不仅仅模拟方向。例如我们常常想知道光线的照射方向,以及在3D世界中的摄象机。向量为在3维空间中表示方向的提供了方便。
向量与位置无关。有同样长度和方向的两个向量是相等的,即使他们在不同的位置。观察彼此平行的两个向量,例如在图1中u和v是相等的。
我们继续学习左手坐标系。图2显示的是左手坐标系和右手坐标系。两者不同的是Z轴的方向。在左手坐标 ...
- 2008-04-25 15:05
- 浏览 3053
- 评论(0)
向量相加
我们能够通过分别把两个向量的各个分量相加得到向量之和,注意在相加之前必须保证它们有相同的维数。
u + v = (ux+ vx, uy+ vy, uz+ vz)
图5显示的是几何学上的向量相加。
两个向量相加的代码,我们使用重载的加法操作符:
D3DXVECTOR3 u(2.0f, 0.0f, 1.0f);
D3DXVECTOR3 v(0.0f, -1.0f, 5.0f);
// (2.0 + 0.0, 0.0 + (-1.0), 1.0 + 5.0)
D3DXVECTOR3 sum = u + v; // = (2.0f, -1.0f, 6.0f)
向量相减
...
- 2008-04-25 15:03
- 浏览 2325
- 评论(0)
class Camera {public: enum CameraType { LANDOBJECT, AIRCRAFT }; Camera();
Camera(CameraType cameraType);
~Camera(); void strafe(float units); // left/right void fly(float units); // up/down void walk(float units); // forward/backward void pitch(float angle); // rotate on right vector void ...
- 2008-04-25 15:00
- 浏览 1017
- 评论(0)
创建左手坐标系的观察矩阵。
定义:
D3DXMATRIX *WINAPI D3DXMatrixLookAtLH( CONST D3DXVECTOR3 *pEye,
CONST D3DXVECTOR3 *pAt,
CONST D3DXVECTOR3 *pUp
);
参数:
pOut
[in, out] 指向 D3DXMATRIX 结构的返回结果的矩阵。
pEye
[in] 指向D3DXVECTOR3 结构的眼睛所有在位置向量。这个值会用来作平移。
pAt
[in] 指向 D3DXVECTOR3
- 2008-04-25 14:40
- 浏览 1704
- 评论(0)
我刚学dll文件的使用,自己写了个程序,dll文件的定义如下: //dll.h #ifndef _DLL_H_ #define _DLL_H_ #include <windows.h> #if BUILDING_DLL # define DLLIMPORT __declspec (dllexport) #else /* Not BUILDING_DLL */ # define DLLIMPORT ...
- 2008-04-24 22:53
- 浏览 948
- 评论(0)
在一些情况下,必须使用动态连接库:
1.
多个应用程序共享代码和数据:比如Office软件的各个组成部分有相似的外观和功能,这就是通过共享动态连接库实现的。
2.
在钩子程序过滤系统消息时必须使用动态连接库
3.
设备驱动 ...
- 2008-04-24 22:23
- 浏览 1271
- 评论(0)
基本原理
在Visual C++6.0中,显示位图的方法及过程如下:
1. 显示程序资源中的位图(位图的所有数据均存在于可执行文件中)
(1)从资源中装入位图
● 定义位图对象数据成员CBitmap m_Bitmap;
● 调用CBitmap成员 ...
- 2008-04-24 22:12
- 浏览 1108
- 评论(0)
GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。 是否需要在GetBufer后面调用ReleaseBuffer(),是根据你的后面的程序是否需要继续使用该字符串变量,并且是否动态改变其长度而定的。不是什么好地编程习惯,之类的原因。 如果你GetBuffer以后程序自函数就退出,局部变量都不存在了,调用不掉用ReleaseBuffer没什么意义了。 但如果你出现例如下面的代码 CString m_strA; m_strA=_T( "123456 "); m ...
- 2008-04-24 21:15
- 浏览 1299
- 评论(0)
从头学习DirectDraw
在开始学习DirectDraw编程之前,有一些题外话要说明,以下内容均是个人的心得和体会,如果其中有什么谬误之处,敬请谅解,同时个人不对可能造成的后果负责。。
以下几点是在 ...
- 2008-04-23 22:35
- 浏览 1339
- 评论(0)
4.2位图的显示 Visual C++ MFC中没有提供一个专门的类来处理DIB位图,因此,为了方便地使用位图文件,我们有必要派生一个CDib类。类的源代码如下: (1) CDib类的声明
// DIB.h:类CDib声明头文件#ifndef __DIB_H__#define __DIB_H__#include <wingdi.h>class CDib{ public: CDib(); ~CDib(); BOOL Load( const char * ); BOOL Save( const char * ); BOOL Draw( CDC *, int nX ...
- 2008-04-23 15:22
- 浏览 2264
- 评论(0)
4. DIB位图编程 4.1位图文件格式 先来分析DIB位图文件的格式。位图文件分为四部分: (1)位图文件头BITMAPFILEHEADER 位图文件头BITMAPFILEHEADER是一个结构体,长度为14字节,定义为:
typedef struct tagBITMAPFILEHEADER{ WORD ...
- 2008-04-23 15:22
- 浏览 1633
- 评论(0)
3. DDB位图编程 先看DDB加载按钮的单击事件代码:
void CBitMapExampleDlg::OnLoadddbpic() {1: CBitmap bmpDraw;2: bmpDraw.LoadBitmap( IDB_LOADED_BITMAP );//装入要加载的DDB位图 3: BITMAP bmpInfo;4: bmpDraw.GetBitmap( &bmpInfo ); //获取要加载DDB位图的尺寸 5: CDC memDC;//定义一个兼容DC6: CClientDC dc( this );7: memDC.CreateCompatibleDC ...
- 2008-04-23 15:19
- 浏览 2878
- 评论(0)
1. 基本概念 先来用通俗的语句讲解位图和调色板的概念。
我们知道,自然界中的所有颜色都可以由红、绿、蓝(R,G,B)三基色组合而成。针对含有红、绿、蓝色成分的多少,可以对其分别分成0~255个等级,而红、绿、蓝的不同组合共有256×256×256种,因此约能表示1600万种颜色。对于人眼而言,这已经是"真彩色"了。 对每个像素进行了(R,G,B)量化的图像就是位图,其在计算机中对应文件的扩展名一般为.bmp。既然用R,G,B的量化值就可以直接记录一张位图的所有像素,那我们需要调色板干什么呢? 首先,我们可以计算完全利用(R,G,B)组合来存储一个800×600的 ...
- 2008-04-23 15:06
- 浏览 1415
- 评论(0)