| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 635 人关注过本帖
标题:请问有学计算机图形学的吗?用VC++时有问题.求助!!!!
只看楼主 加入收藏
huyiqin
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-9-25
收藏
 问题点数:0 回复次数:1 
请问有学计算机图形学的吗?用VC++时有问题.求助!!!!
我刚开始学计算机图形学.有一些问题,希望能有达人指导.我的QQ是342109027.希望能得到阁下的指导.
 
 我试着拿一段正确的程序在VC++上运行.可是就会有错误.可能是在操作VC++6.0上不会一些库的调用的问题.是不是除了编写原程序外,还要在VC++上操作些东西才能编译成功.望指教!!!谢谢!!!
#include "stdafx.h"
#include <math.h>
//画线,右手坐标系(x向右,y向上),也适合左手坐标系
//起点:x0,y0
//终点:x1,y1
//画线颜色 color
void Bresenham_Line(HDC hdc,int x0,int y0,int x1,int y1,long color)
{
 int x,y,dx,dy,e;
 int i,temp;
 int change=0;   //如果直线斜率<=1, change=0; 否则change=1
 int Step_X=1,Step_Y=1;  //取值为1 或 -1 ,表示迭代过程中 x坐标和y坐标变化的方向
 dx=x1-x0, dy=y1-y0;
 if(dx<0)  {
  dx=-dx;  //dx始终为正
  Step_X=-1;//改变x的迭代方向为负,即每次迭代x减1
 }
 if(dy<0)  {
  dy=-dy;  //dy始终为正
  Step_Y=-1;  //改变y的迭代方向为负,即每次迭代y减1
 }
 if(dy>dx){      //如果斜率>1
  temp=dx; //交换dx和dy
  dx=dy;
  dy=temp;   
  change=1;   //设置斜率>1标志
 }
 e=-dx, x=x0,y=y0;
 for(i=0;i<=dx;i++)
 {
  //画点
  SetPixel(hdc,x,y,color);  
  if(change)  y=y+Step_Y; //如果斜率>1, 每次先递增(或递减)y,而后判断x的变化
  else    x=x+Step_X; //如果斜率<=1,每次先递增(或递减)x,而后判断y的变化
  e=e+2*dy;
  if(e>=0)
  {
   if(change) x=x+Step_X; //x的值比上一点有变化
   else        y=y+Step_Y; //y的值比上一点有变化
   e=e-2*dx;
  }
 }
}
#include "stdafx.h"(错误就出现在这里)

F:\c\fg\xdf.cpp(1) : error C2014: preprocessor command must start as first nonwhite space
F:\c\fg\xdf.cpp(2) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
执行 cl.exe 时出错.
xdf.obj - 1 error(s), 0 warning(s)
搜索更多相关主题的帖子: 计算机图形学 时有 
2008-09-25 20:44
mayudong1
Rank: 2
等 级:论坛游民
威 望:1
帖 子:348
专家分:21
注 册:2006-4-18
收藏
得分:0 
应该还有其他的代码吧

2008-09-26 08:48
快速回复:请问有学计算机图形学的吗?用VC++时有问题.求助!!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036345 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved