下载 >  开发技术 >  C++ > 计算机图形学中的mfc中心投影及任意点正投影实例
4

计算机图形学中的mfc中心投影及任意点正投影实例

一个通过mfc编程技术,能画出一个立体图形,并且实现立方体的绕x轴旋转,绕z轴旋转功能,还有绕任意点正投影的功能实例,是你学好计算机图形几何图形变换的很好的例子。
2009-06-13 上传大小:82KB
分享
收藏 举报
java 三视图与正轴测投影 计算机图形学

三视图与正轴测投影。 通过上一程序所做的矩阵类,做相应的矩阵变换,得到主视图、侧视图、俯视图、正轴测投影。 我不明白那三视图乘以矩阵有什么意义,因为即使乘完了,我们还是要通过取x方向量或者z方向量作为屏幕上的坐标点画出来,那么直接取相应的方向量的值就好了呀。

立即下载
MFC计算机图形学正轴测投影,斜平行投影程序源代码

MFC计算机图形学正轴测投影,斜平行投影程序源代码,可直接导入VC6.0工程运行,在Debug中有可执行程序。注意图片格式BMP

立即下载
实现三维坐标变换、投影变换,C++实现。

MFC实现的图形在三维坐标下,进行坐标平移、投影、对称等变换。

立即下载
利用中心投影对我的第一篇文章进行改进

结合中学投影与Fourier变换,进行仿射参数的恢复,以对扭曲的图像进行配准。

立即下载
MFC图形学平移、比例、旋转、投影变换算法

MFC下用矩阵实现图形学之立方体平移、比例、旋转、投影变换算法

立即下载
吉林大学图形学实验课作业2:正方体的比例、平移、旋转变换及投影显示,源码

吉林大学图形学实验课作业2:正方体的比例、平移、旋转变换及投影显示,源码

立即下载
吉林大学图形学实验课作业2:正方体的比例、平移、旋转变换及投影显示源码

吉林大学图形学实验课作业2:正方体的比例、平移、旋转变换及投影显示源码,上次传的有个错误。

立即下载
C++三维透视投影源代码

C++实现的三维透视投影,一个立方体,可用鼠标拖动来移动或旋转,包含源代码和可执行文件,VS2008的工程。

立即下载
MFC投影程序

计算机图形学 MFC 投影 该程序可以作为学生程序上交

立即下载
一个非常详细的MFC计算机图形学实例

来自清华大学软件学院雍俊海教授,非常非常详细,对于初学者来说十分有用

立即下载
计算机图形学大作业C++代码(MFC)终极版

计算机图形学大作业终极版!!!包括2D和3D,2D包括直线、圆、多边形画法和填充、曲线、曲面的多种方法,弹球反射、图形变换(对称、旋转),亮点是,画完图形可以鼠标拖动修改;3D包括画小房子,灯光效果,这是我自己写的代码,亲测可用,各种功能应有尽有,由于太全面,所以只能要高分了,请各位谅解。。。

立即下载
计算机图形学填充算法,使用OpenGL+MFC实现

程序功能介绍: 本程序是在上次的画直线、画圆的程序上修改的,添加了扫描线填充算法,使用OpenGL+MFC实现。 填充算法的使用说明: 1、选择菜单中的“种子填充”--〉“鼠标画边界”,然后在绘图区域左键点击若干个点作为多边形的顶点,最后点击右键来表示选点结束,点击右键之后,屏幕上会将这些点按顺序连成多边形。 2、选择菜单中的“种子填充”--〉“开始填充”,然后左键点击多边形内任意一点(给定种子),本程序会立刻用种子填充算法将多边形内部填充 3、如果要再次画多边形,请再次选择“种子填充”--〉“鼠标画边界”

立即下载
贝赛尔曲线 基于mfc实现的,通过添加点画出贝塞尔曲线

贝赛尔曲线 基于mfc实现的,通过添加点画出贝塞尔曲线。有实现的窗口,有添加和移动按钮,可以画出任意的贝塞尔曲线。

立即下载
计算机图形学 种子填充算法 MFC、VC

种子填充算法,自己写的,希望对大家有用 // 种子法View.cpp : implementation of the CMyView class // #include "stdafx.h" #include "种子法.h" #include "种子法Doc.h" #include "种子法View.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif struct point { int x; int y; }p[10]={200,100,100,200,150,100,200,300,250,100,300,200,-1}; point stack[1024000]; int top; void push(int x,int y) { if(top>1024000)exit(0); stack[top].x=x; stack[top].y=y; top++; } void pop(int &x,int &y) { if(top==0) exit(0); x=stack[top-1].x; y=stack[top-1].y; top--; } void gettop(int &x,int &y) { if(top==0) exit(0); x=stack[top-1].x; y=stack[top-1].y; } ///////////////////////////////////////////////////////////////////////////// // CMyView IMPLEMENT_DYNCREATE(CMyView, CView) BEGIN_MESSAGE_MAP(CMyView, CView) //{{AFX_MSG_MAP(CMyView) ON_WM_LBUTTONDOWN() //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMyView construction/destruction CMyView::CMyView() { // TODO: add construction code here } CMyView::~CMyView() { } BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return CView::PreCreateWindow(cs); } ///////////////////////////////////////////////////////////////////////////// // CMyView drawing void CMyView::OnLButtonDown(UINT nFlags, CPoint point) { int x,y; CClientDC dc(this); // TODO: Add your message handler code here and/or call default origin=point; push(origin.x,origin.y); while(top!=0) { pop(x,y); if(dc.GetPixel(x-1,y)!=0)//不等于边界色 { dc.SetPixel(x-1,y,0);//染成黑色 push(x-1,y); //加入栈 } if(dc.GetPixel(x+1,y)!=0) { dc.SetPixel(x+1,y,0); push(x+1,y); } if(dc.GetPixel(x,y-1)!=0) { dc.SetPixel(x,y-1,0); push(x,y-1); } if(dc.GetPixel(x,y+1)!=0) { dc.SetPixel(x,y+1,0); push(x,y+1); } } CView::OnLButtonDown(nFlags, point); } void CMyView::OnDraw(CDC* pDC) { CClientDC dc(this); dc.TextOut(1,5,"请为每个区选种子,务必在图形内"); CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); int i; for(i=0;p[i+1].x!=-1;i++) { dc.MoveTo(p[i].x,p[i].y); dc.LineTo(p[i+1].x,p[i+1].y); } dc.MoveTo(p[i].x,p[i].y); dc.LineTo(p[0].x,p[0].y); // TODO: add draw code for native data here } ///////////////////////////////////////////////////////////////////////////// // CMyView printing BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo) { // default preparation return DoPreparePrinting(pInfo); } void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add extra initialization before printing } void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add cleanup after printing } ///////////////////////////////////////////////////////////////////////////// // CMyView diagnostics #ifdef _DEBUG void CMyView::AssertValid() const { CView::AssertValid(); } void CMyView::Dump(CDumpContext& dc) const { CView::Dump(dc); } CMyDoc* CMyView::GetDocument() // non-debug version is inline { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc))); return (CMyDoc*)m_pDocument; } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CMyView message handlers

立即下载
高斯投影正算matlab代码

matlab编写的高斯投影正算代码. 以经度和纬度为输入,在代码中修改中央子午线的数值和选用的坐标系信息,即可得到相应的高斯投影平面坐标. 已实测可用.

立即下载
MFC基础——计算机图形学

MFC基础,visual c++ 6.0 简单的计算机图形学实现 添加按钮,橡皮线等

立即下载
图形学 - OpenGL MFC菜单实现多个图形显示源码2个

图形学 - OpenGL MFC菜单实现多个图形显示源码2个

立即下载
高斯投影程序代码

测绘程序设计,高斯投影算例代码,MFC编程

立即下载
CT图像重建、投影matlab代码

很长的程序,很有用很难找的专业程序,研究生阶段用到

立即下载
高斯投影正反算MFC

高斯投影正反算MFC

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

计算机图形学中的mfc中心投影及任意点正投影实例

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: