用户坐标、视图坐标、Javaawt坐标概念的建立和应用.doc_第1页
用户坐标、视图坐标、Javaawt坐标概念的建立和应用.doc_第2页
用户坐标、视图坐标、Javaawt坐标概念的建立和应用.doc_第3页
用户坐标、视图坐标、Javaawt坐标概念的建立和应用.doc_第4页
用户坐标、视图坐标、Javaawt坐标概念的建立和应用.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验1实验报告格式计算机图形学实验1实验报告实验题目:用户坐标、视图坐标、Java awt坐标概念的建立和应用实验内容:掌握用户坐标、视图坐标、Java awt坐标概念,掌握三类坐标的转换算法。编写自己的算法函数,并形成Java语言程序包。编写程序调用验证之。参考程序:有两个示范程序MyCanvas.java和MyLineDrawApplet.java基本概念:用户坐标:是独立于设备的逻辑坐标,可以是用户用来定义设计对象的各种坐标。视图坐标:是设备相关的坐标,随目标渲染设备不同而不同。Javaawt坐标:使用java.awt时的坐标。填充:以已知的某一条线为基准,向周围区域扩展像素,然后对这些像素所在的位置进行着色。将用户坐标转换为视图坐标实际上是将用户自己设计的逻辑坐标转换为设备相关的坐标,将视图坐标转化为AWT坐标就是将视图坐标按照显示窗口的大小进行缩放。算法设计:功能:用户可根据自己输入的用户坐标,进行视图坐标与awt坐标之间的转换,反向的转换原理与正向相同。此外,该程序还可以进行图形的绘制和填充,如矩形,椭圆等图形。算法1:用户坐标向视图坐标的转换设userMinx、userMaxx分别为用户坐标系x轴的最小值与最大值,userMiny、userMaxy分别为用户坐标系y轴的最小值与最大值;viewMinx、viewMaxx分别为视图坐标系x轴的最小值与最大值,viewMiny、viewMaxy分别为视图坐标系y轴的最小值与最大值。若令(userX,userY)为要转换的用户坐标,(viewX,viewY)为转换后的视图坐标。则它们之间的转换关系为:viewX=viewMinx+(userX-userMinx)/(userMaxx-userMinx)*(viewMaxx-viewMinx) ;viewY=viewMiny+(userY-userMiny)/(userMaxy-userMiny)*(viewMaxy-viewMiny) ;算法1实现如下:public double viewX(double userX) /x坐标的转换double s=(userX-userMinx)/(userMaxx-userMinx);double t=viewMinx+s*(viewMaxx-viewMinx); /坐标的平移及压缩return t;public double viewY(double userY) /y坐标的转换double s=(y-userMiny)/(userMaxy-userMiny);double t=viewMiny+s*(viewMaxy-viewMiny); /坐标的平移及压缩return t;算法2:视图坐标向awt坐标的转换若令(viewX,viewY)为视图坐标,(x,y)为awt坐标,width、height分别为窗口的宽度和高度,则它们之间的转换关系为:X = viewX * width ;Y = viewY * height ;算法2实现如下:/将视图坐标系的点转换到Java AWT坐标public int getIntX(double viewX) return (int)(windowWidth * viewX);/注意视图坐标0-1之间public int getIntY(double viewY) return (int)(windowHeight * (1-viewY);/Y轴方向相反算法3:绘制矩形首先将传入的用户坐标转换为awt坐标,通过对传入的坐标比较,找出矩形左上角坐标(ix0,iy0),并求出矩形的宽度width和高度height,利用Graphics类的方法drawRect(ix0,iy0,width,height)可画出矩形。算法3实现如下:public void drawRect(double x1,double y1,double x2,double y2) /从用户的点坐标转换到Java AWT坐标int ix1=getX(x1);int iy1=getY(y1);int ix2=getX(x2);int iy2=getY(y2);int ix0=(ix1ix2)?ix1:ix2;/矩形左上角坐标int iy0=(iy1iy2)?iy1:iy2;int width=Math.abs(ix1-ix2)+1;/矩形宽度,单位像素int height=Math.abs(iy1-iy2)+1;/矩形高度graphics.drawRect(ix0,iy0,width,height);代码:(给出主要的Java程序和注解)/文件名:MyCanvas.java/定义用户的canvas类,实现/从用户坐标到视图的转换/视图到JavaAWT坐标的转换/用户坐标系的二维图形的描画方法,等/用编译命令javac -d . MyCanvas.java把本文件制作成包MyCanvas/在调用这个包的程序里加入语句import MyCanvas.MyCanvas;packageshiyan1;/制作的包名,这里包名和类名同import java.io.*;import java.applet.Applet;import java.awt.*;import java.awt.image.*;/定义canvas类public class MyCanvas extends Component public static void main(String args) Applet m = new Applet() ;m.setSize(256, 256) ;MyCanvas my = new MyCanvas(m) ;my.setWindow(-1,1,-1,1);/设定用户坐标系范围my.createViewport(2) ;my.setViewport(0, 1, 0, 1) ;System.out.println(用户坐标 视图坐标 awt坐标);System.out.print(0.3+ );double x = my.viewX(0.3) ;System.out.print(x+ );int xx = my.getIntX(x) ;System.out.println(xx);/用户坐标系范围缺省值(-1,1,-1,1)protected double userMinx=-1;/用户坐标系X轴的最小值protected double userMaxx=1;/用户坐标系X轴的最大值protected double userMiny=-1;/用户坐标系Y轴的最小值protected double userMaxy=1;/用户坐标系Y轴的最大值/视图的坐标范围缺省值(0,1,0,1)protected double viewMinx;/各视图X轴最小值的数组protected double viewMaxx;/各视图X轴最大值的数组protected double viewMiny;/各视图Y轴最小值的数组protected double viewMaxy;/各视图Y轴最大值的数组final static int DefaultViewportMax=256;/缺省的视图数 protected int viewportMax=DefaultViewportMax;/最大视图数protected int viewportNum=0;/当前视图数protected int currentViewport=0;/当前视图的索引号/窗口大小final static int DefaultWindowSize=256;/缺省的窗口大小protected int windowWidth=DefaultWindowSize;/窗口宽度protected int windowHeight=DefaultWindowSize;/窗口宽度/定义Java AWT 的Graphics 和 Componentprotected Graphics graphics;/MyCanvas的Graphics数据类protected Component component;/MyCanvas的component数据类protected Color currentFrontColor=Color.white;/当前前景颜色protected Color currentBackColor=Color.white;/当前背景色/构造方法/缺省的构造方法中viewportMax=256public MyCanvas(Component a) component=a;/设定MyCanvas类所用的Componentgraphics=a.getGraphics();/设定MyCanvas类所用的graphicswindowWidth=a.getSize().width;/窗口宽度windowHeight=a.getSize().height;/窗口高度createViewport(DefaultViewportMax);/创建视图/创建视图private void createViewport(int max) currentViewport=0;/设定当前视图索引号viewportMax=max;/设定视图数的最大值viewMinx=new doubleviewportMax;/存放各视图X轴最小值viewMaxx=new doubleviewportMax;/存放各视图X轴最大值viewMiny=new doubleviewportMax;/存放各视图y轴最小值viewMaxy=new doubleviewportMax;/存放各视图y轴最大值viewMinxcurrentViewport=0.0;/设定当前视图的坐标轴范围viewMinycurrentViewport=0.0;viewMaxxcurrentViewport=1.0;viewMaxycurrentViewport=1.0;viewportNum=1;/当前视图数/设定用户坐标系范围public void setWindow(double x1,double x2,double y1,double y2) userMinx=x1;/设定窗口(用户坐标系)X轴的最小值userMaxx=x2;/设定窗口(用户坐标系)X轴的最大值userMiny=y1;/设定窗口(用户坐标系)y轴的最小值userMaxy=y2;/设定窗口(用户坐标系)y轴的最大值/设定视图public void setViewport(double x1,double x2,double y1,double y2) currentViewport=viewportNum;/设定新的当前视图索引号viewportNum+;/当前视图数加1viewMinxcurrentViewport=x1;/存放视图的X轴最小值viewMaxxcurrentViewport=x2;/存放视图的X轴最大值viewMinycurrentViewport=y1;/存放视图的y轴最小值viewMaxycurrentViewport=y2;/存放视图的y轴最大值/视图复位public void resetViewport() currentViewport=0;/当前视图索引号重归于零viewMinxcurrentViewport=0.0;/设定当前视图的坐标轴范围viewMinycurrentViewport=0.0;viewMaxxcurrentViewport=1.0;viewMaxycurrentViewport=1.0;viewportNum=1;/当前视图数/将视图坐标系的点转换到Java AWT坐标public int getIntX(double x) return (int)(windowWidth * x);/注意视图坐标0-1之间public int getIntY(double y) return (int)(windowHeight * (1-y);/Y轴方向相反/将用户坐标的点转换到视图坐标public double viewX(double x) double s=(x-userMinx)/(userMaxx-userMinx);double t=viewMinxcurrentViewport+s*/坐标的平移及压缩(viewMaxxcurrentViewport-viewMinxcurrentViewport);return t;public double viewY(double y) double s=(y-userMiny)/(userMaxy-userMiny);double t=viewMinycurrentViewport+s*/坐标的平移及压缩(viewMaxycurrentViewport-viewMinycurrentViewport);return t;/将用户坐标的点转换到Java AWT坐标public int getX(double x) double xx=viewX(x);/先将x转换到视图坐标int ix=getIntX(xx);/将视图坐标转换到Java AWT坐标return ix;public int getY(double y) double yy=viewY(y);/先将y转换到视图坐标int iy=getIntY(yy);/将视图坐标转换到Java AWT坐标return iy;/将用户坐标系的宽度、高度值投影到Java AWT坐标public int getDimensionX(double w) double x=viewMaxxcurrentViewport-viewMinxcurrentViewport;x*=windowWidth*w/(userMaxx-userMinx);/按比例投影,经由视图坐标系return (int)Math.abs(x);/用户坐标系可能反向public int getDimensionY(double h) double y=viewMaxycurrentViewport-viewMinycurrentViewport;y*=windowHeight*h/(userMaxy-userMiny);/按比例投影,经由视图坐标系return (int)Math.abs(y);/用户坐标系可能反向/有关当前颜色的设定方法:画笔颜色、前景色、背景色public Color getColor() return currentFrontColor;/得到当前颜色序号public void setColor(Color c) graphics.setColor(c);/设置图形对象的颜色currentFrontColor=c;/设定当前颜色序号public Color getForeground() return currentFrontColor;/得到当前前景色序号public void setForeground(Color c) component.setForeground(c);/设置前景色currentFrontColor=c;/设定当前前景色序号public Color getBackground() return currentBackColor;/得到当前背景色序号public void setBackground(Color c) component.setBackground(c);/设置背景色currentBackColor=c;/设定当前背景色序号/-各类图形的描画方法-/直线画法:两点式参数public void drawLine(double x1,double y1,double x2,double y2) /从用户的点坐标转换到Java AWT坐标int ix1=getX(x1);int iy1=getY(y1);int ix2=getX(x2);int iy2=getY(y2);graphics.drawLine(ix1,iy1,ix2,iy2);/这个方法它是怎样画直线的?/矩形画法:对角式参数public void drawRect(double x1,double y1,double x2,double y2) /从用户的点坐标转换到Java AWT坐标int ix1=getX(x1);int iy1=getY(y1);int ix2=getX(x2);int iy2=getY(y2);int ix0=(ix1ix2)?ix1:ix2;/矩形左上角坐标int iy0=(iy1iy2)?iy1:iy2;int width=Math.abs(ix1-ix2)+1;/矩形宽度,单位像素int height=Math.abs(iy1-iy2)+1;/矩形高度graphics.drawRect(ix0,iy0,width,height);/矩形填充public void fillRect(double x1,double y1,double x2,double y2) /从用户的点坐标转换到Java AWT坐标int ix1=getX(x1);int iy1=getY(y1);int ix2=getX(x2);int iy2=getY(y2);int ix0=(ix1ix2)?ix1:ix2;/矩形左上角坐标int iy0=(iy1iy2)?iy1:iy2;int width=Math.abs(ix1-ix2)+1;/矩形宽度,单位像素int height=Math.abs(iy1-iy2)+1;/矩形高度graphics.fillRect(ix0,iy0,width,height);/填充算法如何实现?/矩形区域的清除public void clearRect(double x1,double y1,double x2,double y2) /从用户的点坐标转换到Java AWT坐标int ix1=getX(x1);int iy1=getY(y1);int ix2=getX(x2);int iy2=getY(y2);int ix0=(ix1ix2)?ix1:ix2;/矩形左上角坐标int iy0=(iy1iy2)?iy1:iy2;int width=Math.abs(ix1-ix2)+1;/矩形宽度,单位像素int height=Math.abs(iy1-iy2)+1;/矩形高度graphics.clearRect(ix0,iy0,width,height);/算法等同填充/圆角矩形画法public void drawRoundRect(double x1,double y1,double x2,double y2,double arcW,double arcH) /圆弧高度、圆弧宽度/从用户坐标的点转换到Java AWT坐标int ix1=getX(x1);int iy1=getY(y1);int ix2=getX(x2);int iy2=getY(y2);int ix0=(ix1ix2)?ix1:ix2;/矩形左上角坐标int iy0=(iy1iy2)?iy1:iy2;int width=Math.abs(ix1-ix2)+1;/矩形宽度,单位像素int height=Math.abs(iy1-iy2)+1;/矩形高度int iarcWidth=getDimensionX(arcW);/圆弧宽度投影到Java AWT坐标int iarcHeight=getDimensionX(arcH);/圆弧高度投影graphics.drawRoundRect(ix0,iy0,width,height,iarcWidth,iarcHeight);/圆角矩形填充public void fillRoundRect(double x1,double y1,double x2,double y2,double arcW,double arcH) /圆弧高度、圆弧宽度/从用户坐标的点转换到Java AWT坐标int ix1=getX(x1);int iy1=getY(y1);int ix2=getX(x2);int iy2=getY(y2);int ix0=(ix1ix2)?ix1:ix2;/矩形左上角坐标int iy0=(iy1iy2)?iy1:iy2;int width=Math.abs(ix1-ix2)+1;/矩形宽度,单位像素int height=Math.abs(iy1-iy2)+1;/矩形高度int iarcWidth=getDimensionX(arcW);/圆弧宽度投影到Java AWT坐标int iarcHeight=getDimensionX(arcH);/圆弧高度投影graphics.fillRoundRect(ix0,iy0,width,height,iarcWidth,iarcHeight);/带阴影矩形的画法public void draw3DRect(double x1,double y1,double x2,double y2,boolean raised) /阴影抬升或者洼陷/从用户坐标的点转换到Java AWT坐标int ix1=getX(x1);int iy1=getY(y1);int ix2=getX(x2);int iy2=getY(y2);int ix0=(ix1ix2)?ix1:ix2;/矩形左上角坐标int iy0=(iy1iy2)?iy1:iy2;int width=Math.abs(ix1-ix2)+1;/矩形宽度,单位像素int height=Math.abs(iy1-iy2)+1;/矩形高度graphics.draw3DRect(ix0,iy0,width,height,raised);/椭圆的画法(圆心坐标和两个半径)public void drawOval(double x,double y,double xr,double yr) /圆心从用户坐标转换到Java AWT坐标int ix=getX(x);int iy=getY(y);int ixr=getDimensionX(xr);/x轴半径投影到Java AWT坐标int iyr=getDimensionX(yr);/y轴半径投影int x0=ix-ixr;/椭圆外切矩形的左上角x坐标int y0=iy-iyr;/椭圆外切矩形的左上角y坐标graphics.drawOval(x0,y0,2*ixr,2*iyr);/椭圆的填充(圆心坐标和两个半径)public void fillOval(double x,double y,double xr,double yr) /圆心从用户坐标转换到Java AWT坐标int ix=getX(x);int iy=getY(y);int ixr=getDimensionX(xr);/x轴半径投影到Java AWT坐标int iyr=getDimensionX(yr);/y轴半径投影int x0=ix-ixr;/椭圆外切矩形的左上角x坐标int y0=iy-iyr;/椭圆外切矩形的左上角y坐标graphics.fillOval(x0,y0,2*ixr,2*iyr);/圆弧的画法(圆心坐标和椭圆弧两个半径,两个角度)public void drawArc(double x,double y,double xr,double yr,double startAngle,double arcAngle) /圆心从用户坐标转换到Java AWT坐标int ix=getX(x);int iy=getY(y);int ixr=getDimensionX(xr);/x轴半径投影到Java AWT坐标int iyr=getDimensionX(yr);/y轴半径投影int x0=ix-ixr;/椭圆外切矩形的左上角x坐标int y0=iy-iyr;/椭圆外切矩形的左上角y坐标int is=(int)(90-(startAngle+arcAngle);/开始角度/注意Java AWT从Y轴顺时针度量int ia=(int)arcAngle;/扇形的圆心角graphics.drawArc(x0,y0,2*ixr,2*iyr,is,ia);/扇形的填充(圆心坐标和椭圆弧两个半径,两个角度)public void fillArc(double x,double y,double xr,double yr,double startAngle,double arcAngle) /圆心从用户坐标转换到Java AWT坐标int ix=getX(x);int iy=getY(y);int ixr=getDimensionX(xr);/x轴半径投影到Java AWT坐标int iyr=getDimensionX(yr);/y轴半径投影int x0=ix-ixr;/椭圆外切矩形的左上角x坐标int y0=iy-iyr;/椭圆外切矩形的左上角y坐标int is=(int)(90-(startAngle+arcAngle);/开始角度/注意Java AWT从Y轴顺时针度量int ia=(int)arcAngle;/扇形的圆心角graphics.fillArc(x0,y0,2*ixr,2*iyr,is,ia);/折线public void drawPolyline(double x,double y,int numPoints) int ix=new intnumPoints;int iy=new intnumPoints;for(int i=0;inumPoints;i+) ixi=getX(xi);/从用户坐标点转换到Java AWT坐标iyi=getY(yi);graphics.drawPolyline(ix,iy,numPoints);/多边形public void drawPolygon(double x,double y,int numPoints) int ix=new intnumPoints;int iy=new intnumPoints;for(int i=0;inumPoints;i+) ixi=getX(xi);/从用户坐标点转换到Java AWT坐标iyi=getY(yi);graphics.drawPolygon(ix,iy,numPoints);/封闭的折线图/多边形填充public void fillPolygon(double x,double y,int numPoints) int ix=new intnumPoints;int iy=new intnumPoints;for(int i=0;inumPoints;i+) ixi=getX(xi);/从用户坐标点转换到Java AWT坐标iyi=getY(yi);graphics.fillPolygon(ix,iy,numPoints);/掌握填充的算法是重点/写字符串public void drawString(String str,double x,double y) /从用户坐标点转换到Java AWT坐标int ix=getX(x);int iy=getY(y);graphics.drawString(str,ix,iy);/获取当前Graphics类的字体public Font getFont() return graphics.getFont();/设定当前Graphics类的字体public void setFont(Font f) graphics.setFont(f);/定义一种字体:仅对window已有字体放大尺寸public Font MyFont(String name,int style,double size) int DefaultFontSize=12;if(size=0) size=1.0;/字体大小不能为负数int isize=(int)(DefaultFontSize*size);/定义字体的大小Font f=new Font(name,style,isize);/构造字体return f;/Java AWT坐标系到视图坐标系的反向转换public int getViewport(int ix,int iy)if(viewportNum=1) return 0;/默认视图double s=(double)(ix)/(double)windowWidth;double t=(double)(windowHeight-iy)/(double)windowHeight;for(int i=0;i=viewMinxi & s=viewMinyi & t=viewMaxyi) return i;return 0;/视图到用户坐标系的反向转换(x坐标)public double getUserX(int ix,int v) double t=(double)(ix)/(double)windowWidth;double x=userMinx+(t-viewMinxv)/(viewMaxxv-viewMinxv)*(userMaxx-userMinx);return x;/视图到用户坐标系的反向转换(y坐标)public double getUserY(int iy,int v) double t=(double)(windowHeight-iy)/(double)windowHeight;double y=userMiny+(t-viewMinyv)/(viewMaxyv-viewMinyv)*(userMaxy-userMiny);return y;/*线段光栅化的成员变量*protected Image image;/Java图像类的对象protected MemoryImageSource mis;/内存图像数据源protected int pixelWidth;/图像点阵的宽度(像素数)protected int pixelHeight;/图像点阵的高度(像素数)protected int pixel;/存放图像点的颜色(行优先一维存放)protected int xoffset;/像素数据窗口内X坐标的偏移protected int yoffset;/像素数据窗口内Y坐标的偏移/直线(光栅化)实数型Bresenham算法public void rasterizeDrawLine(double x1,double y1,double x2,double y2) double leftTopx,leftTopy;/从用户坐标到Java AWT坐标int ix1=getX(x1);int iy1=windowHeight-getY(y1);/到窗口下方的像素数int ix2=getX(x2);int iy2=windowHeight-getY(y2);/到窗口下方的像素数if(x1x2)leftTopx=x1;/左上角的X坐标值设为x1(用户坐标)xoffset=ix1;/窗口中的偏移量是Java AWT坐标elseleftTopx=x2;/左上角的X坐标值设为x2(用户坐标)xoffset=ix2;/窗口中的偏移量是Java AWT坐标if(y1y2)/用户坐标原点在左下,Java AWT在左上leftTopy=y2;/左上角的y坐标值设为y2yoffset=iy1;/窗口中的偏移量是Java AWT坐标else/用户坐标原点在左下,Java AWT在左上leftTopy=y1;/左上角的y坐标值设为y1(用户坐标)yoffset=iy2;/窗口中的偏移量是Java AWT坐标int dx=ix2-ix1;/取得X向的间距int dy=iy2-iy1;/取得y向的间距int adx=Math.abs(dx);/X向的间距的绝对值int ady=Math.abs(dy);/Y向的间距的绝对值pixelWidth=adx+1;/图像点阵的宽度(像素数)pixelHeight=ady+1;/图像点阵的高度(像素数)/一维数组存放图像点的颜色(行优先)pixel=new intpixelWidth*pixelHeight;for(int k=0;k0)?1:-1;/取正负号,1或者-1int sy=(dy0)?1:-1;int x=ix1;/x从ix1开始循环int y=iy1;/y从iy1开始循环if(adx=0) /说明这是平行于Y轴的直线for(int j=1;j=ady;j+) myPutPixel(x,y);/调用同类成员函数,设当前定像素颜色y+=sy;/y坐标的改变量为1或者-1个像素else if(ady=0) /说明这是平行于x轴的直线for(int i=1;iady) /直线走向贴近x轴方向double d=(double)dy/(double)dx;/直线斜率double ty=(double)y;for(int i=1;iMath.abs(ty-y-sy)y+=sy;/沿y向前进了一个像素else /直线走向贴近Y轴方向(adx=ady)double d=(double)dx/(double)dy;/直线斜率double tx=(double)x;for(int j=1;jMath.abs(tx-x-sx)x+=sx;/沿x向前进了一个像素/*作成内存图像源*/mis=new MemoryImageSource(pixelWidth,pixelHeight,pixel,0,pixelWidth);/生成内存图像有五个参数image=createImage(mis);/生成图像/*调用显示图像方法,需要四个参数*/myDrawImage(image,leftTopx,leftTopy,this);/结束Bresenham算法/设定当前像素的颜色public void myPutPixel(int i,int j) int r=getColor().getRed()&0xff;/获取当前红色值int g=getColor().getGreen()&0xff;/绿色值int b=getColor().getBlue()&0xff;/蓝色值int a=0xff000000|(r16)|(g8)|b;/组成像素值为32位二进制数,存放到像素数组的相应位置pixel(pixelHeight-1-(j-yoffset)*pixelWidth+(i-xoffset)=a;/其它位置为初始设置的透明色,不覆盖原来已显示的像素/图像的显示public boolean myDrawImage(Image img,double x,double y,ImageObserver observer) /从用户坐标点转换到Java AWT坐标int ix=getX(x);int iy=getY(y);/调用AWT的图像显示return graphics.drawImage(img,ix,iy,observer);/*画笔移动方法*protected double lastX=0;/画笔当前位置X坐标protected double lastY=0;/画笔当前位置Y坐标/抬笔移动到指定位置public void moveTo(double x,double y) lastX=x;/更新

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论