3d画图软件有哪些

3d画图软件有哪些,第1张

1、3dmax

3Ds MAX是Autodesk公司开发的基于PC系统的三维动画渲染和制作软件。一开始是运用在电脑游戏中的动画制作,后更进一步开始参与影视片的特效制作,如现在很多3D大片的3D特效都是用3Ds MAX进行制作的。

2、AutoCAD

AutoCAD是美国Autodesk公司开发的绘图工具,用于2D绘图、设计文档和基本3D设计。AutoCAD应用非常广泛,覆盖机械、建筑、家居、服装等多个行业。

3、UR

UG(Unigraphics NX)是Siemens PLM Software公司出品的一个产品工程设计软件,它为用户的产品设计及加工过程提供了高效的解决方案。UG是目前工作中最优秀的一款模具行业三维设计软件,主要适合于大型的汽车、飞机厂建立复杂的数模。

4、Pro/E

PRO/E是如今比较流行的三维建模软件,各行业应用比较广泛,Pro/E软件以参数化著称,是参数化技术的最早应用者,在目前的三维造型软件领域中占有着重要地位,Pro/Engineer作为当今世界机械CAD/CAE/CAM领域的新标准而得到业界的认可和推广。

5、solidworks

SolidWorks是世界上第一个基于 Windows开发的三维CAD系统,由于技术创新符合CAD技术的发展潮流和趋势,Solidworks 功能强大、易学易用和技术创新是SolidWorks 的三大特点,使SolidWorks成为领先的、主流的三维CAD解决方案。

public enum ShapeTypes {

LINE, CIRCLE, RECTANGLE

}public interface Shape {

void paint(Graphics g);

}public class Rectangle implements Shape {

// 矩形左上角的坐标

private int x, y;

// 矩形的宽度和高度

private int width, height;

private Color rectangleColor;

public Rectangle() {

super();

}

public Rectangle(int x, int y, int width, int height, Color rectangleColor) {

super();

thisx = x;

thisy = y;

thiswidth = width;

thisheight = height;

thisrectangleColor = rectangleColor;

}

@Override

public void paint(Graphics g) {

gsetColor(rectangleColor);

gdrawRect(x, y, width, height);

}

}public class Line implements Shape {

// 直线的起始位置

private int x1, y1;

// 直线的终止位置

private int x2, y2;

private Color lineColor;

public Line(int x1, int y1, int x2, int y2, Color lineColor) {

super();

thisx1 = x1;

thisy1 = y1;

thisx2 = x2;

thisy2 = y2;

thislineColor = lineColor;

}

public Line() {

super();

}

@Override

public void paint(Graphics g) {

gsetColor(lineColor);

gdrawLine(x1, y1, x2, y2);

}

}public class Circle implements Shape {

// 圆的颜色

private Color circleColor;

// 圆心的坐标

private int x, y;

// 圆的半径

private int radius;

public Circle() {

super();

}

public Circle(int x, int y, int radius, Color circleColor) {

super();

thiscircleColor = circleColor;

thisx = x;

thisy = y;

thisradius = radius;

}

@Override

public void paint(Graphics g) {

gsetColor(circleColor);

// 画弧, 当弧的宽度和高度一致且从0~360度时就是原形了

gdrawArc(x, y, radius, radius, 0, 360);

}

}public class SketchpadPanel extends Canvas implements MouseListener, MouseMotionListener {

private static final long serialVersionUID = -5229161042153132522L;

// 鼠标点击起始坐标和当前坐标

private int beginX = 0, beginY = 0, currentX = 0, currentY = 0;

// 判断鼠标是否被按下

private boolean isMousePressing = false;

// 保存当前的图形, 在撤销和恢复时使用

private final Stack<Shape> currentShapes = new Stack<Shape>();

// 保存已经删除过的图形

private final Stack<Shape> deletedShapes = new Stack<Shape>();

private ShapeTypes type;

private Color color;

public SketchpadPanel() {

addMouseListener(this);

addMouseMotionListener(this);

}

/

  撤销方法

 /

public void undo() {

if (currentShapessize() > 0) {

// 从所有保存过的图形中取出最后一个, 放入到已删除的图形中去

Shape shape = currentShapespop();

deletedShapespush(shape);

repaint();

}

}

/

  恢复撤销方法

 /

public void redo() {

if (deletedShapessize() > 0) {

// 从所有删除的图形中取出最后一个, 放入保存的图形中

Shape shape = deletedShapespop();

currentShapespush(shape);

repaint();

}

}

/

  设置命令

  

  @param type

 /

public void setShapeType(ShapeTypes type) {

thistype = type;

}

/

  设置颜色

  

  @param color

 /

public void setColor(Color color) {

thiscolor = color;

}

public void updete(Graphics g) {

paint(g);

}

/

  绘制画板

 /

@Override

public void paint(Graphics g) {

// 绘制画板

Dimension size = getSize();

int width = sizewidth;

int height = sizeheight;

gsetColor(ColorWHITE);

gfillRect(0, 0, width, height);

// 绘制所有图形

Shape shape = null;

Enumeration<Shape> e = currentShapeselements();

while (ehasMoreElements()) {

shape = enextElement();

shapepaint(g);

}

// 如果当前鼠标没有释放

if (isMousePressing) {

gsetColor(color);

switch (type) {

// 绘制直线

case LINE:

gdrawLine(beginX, beginY, currentX, currentY);

break;

// 绘制矩形

case RECTANGLE:

if (currentX < beginX) {

if (currentY < beginY) {

// 如果当前位置在起始位置的左上方, 则以鼠标当前位置为矩形的左上角位置

gdrawRect(currentX, currentY, beginX - currentX, beginY - currentY);

} else {

// 如果当前位置在起始位置的左下方, 则以鼠标当前位置的横坐标和起始位置的纵坐标作为矩形的左上角位置

gdrawRect(currentX, beginY, beginX - currentX, currentY - beginY);

}

} else {

if (currentY < beginY) {

// 如果当前位置在起始位置的右上方, 则以鼠标起始位置的很坐标和当前位置的纵坐标作为矩形的左上角位置

gdrawRect(beginX, currentY, currentX - beginX, beginY - currentY);

} else {

// 如果当前位置在起始位置的右下方, 则已起始位置作为矩形的左上叫位置

gdrawRect(beginX, beginY, currentX - beginX, currentY - beginY);

}

}

break;

// 绘制圆形

case CIRCLE:

// 半径为aa + bb的平方根

int radius = (int) Math

sqrt((beginX - currentX)  (beginX - currentX) + (beginY - currentY)  (beginY - currentY));

gdrawArc(beginX - radius / 2, beginY - radius / 2, radius, radius, 0, 360);

break;

}

}

}

@Override

public void mouseClicked(MouseEvent e) {

}

@Override

public void mouseEntered(MouseEvent e) {

}

@Override

public void mouseExited(MouseEvent e) {

}

/

  当鼠标按下的时候获得起始坐标

 /

@Override

public void mousePressed(MouseEvent e) {

beginX = egetX();

beginY = egetY();

isMousePressing = true;

}

/

  当鼠标释放时获得当前坐标

 /

@Override

public void mouseReleased(MouseEvent e) {

currentX = egetX();

currentY = egetY();

isMousePressing = false;

// 当释放鼠标时, 将绘制的图形保存到shapes中

switch (type) {

// 绘制直线

case LINE:

Line line = new Line(beginX, beginY, currentX, currentY, color);

currentShapespush(line);

break;

// 绘制圆形

case CIRCLE:

// 半径为aa + bb的平方根

int radius = (int) Math

sqrt((beginX - currentX)  (beginX - currentX) + (beginY - currentY)  (beginY - currentY));

Circle circle = new Circle(beginX - radius / 2, beginY - radius / 2, radius, color);

currentShapespush(circle);

break;

// 绘制矩形

case RECTANGLE:

Rectangle rectangle = null;

if (currentX < beginX) {

if (currentY < beginY) {

rectangle = new Rectangle(currentX, currentY, beginX - currentX, beginY - currentY, color);

} else {

rectangle = new Rectangle(currentX, beginY, beginX - currentX, currentY - beginY, color);

}

} else {

if (currentY < beginY) {

rectangle = new Rectangle(beginX, currentY, currentX - beginX, beginY - currentY, color);

} else {

rectangle = new Rectangle(beginX, beginY, currentX - beginX, currentY - beginY, color);

}

}

currentShapespush(rectangle);

break;

}

repaint();

}

@Override

public void mouseDragged(MouseEvent e) {

currentX = egetX();

currentY = egetY();

thisrepaint();

}

@Override

public void mouseMoved(MouseEvent e) {

}

}public class SketchpadFrame extends JFrame {

private static final long serialVersionUID = -7080053971741609904L;

private final JPanel commandPanel = new JPanel(); // 存放命令的面板

private final JPanel colorPanel = new JPanel(); // 存放颜色的面板

private final JPanel mainPanel = new JPanel(); // 主面板

private final JButton redButton = new JButton("红色");

private final JButton blueButton = new JButton("蓝色");

private final JButton greenButton = new JButton("绿色");

private final JButton lineButton = new JButton("直线");

private final JButton circleButton = new JButton("圆");

private final JButton rectangleButton = new JButton("矩形");

private final JButton undoButton = new JButton("撤销");

private final JButton redoButton = new JButton("恢复撤销");

private final JButton exitButton = new JButton("退出");

SketchpadPanel sketchPanel = new SketchpadPanel();

private void initFrame() {

commandPanelsetLayout(new FlowLayout());

commandPaneladd(lineButton);

commandPaneladd(circleButton);

commandPaneladd(rectangleButton);

commandPaneladd(undoButton);

commandPaneladd(redoButton);

commandPaneladd(exitButton);

colorPanelsetLayout(new FlowLayout());

colorPaneladd(redButton);

colorPaneladd(blueButton);

colorPaneladd(greenButton);

mainPanelsetLayout(new BorderLayout());

mainPaneladd(commandPanel, BorderLayoutNORTH);

mainPaneladd(colorPanel, BorderLayoutCENTER);

getContentPane()add("South", mainPanel);

getContentPane()add("Center", sketchPanel);

// 初始化设置:颜色和命令

lineButtonsetForeground(ColorRED);

sketchPanelsetColor(ColorRED);

redButtonsetForeground(ColorRED);

sketchPanelsetShapeType(ShapeTypesLINE);

}

private void initListener() {

redButtonaddActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

redAction(e);

}

});

blueButtonaddActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

blueAction(e);

}

});

greenButtonaddActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

greenAction(e);

}

});

undoButtonaddActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

undoAction(e);

}

});

redoButtonaddActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

redoAction(e);

}

});

exitButtonaddActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

exitAction(e);

}

});

lineButtonaddActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

lineAction(e);

}

});

circleButtonaddActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

circleAction(e);

}

});

rectangleButtonaddActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

rectangleAction(e);

}

});

}

public SketchpadFrame() {

initFrame();

initListener();

thissetSize(500, 600);

setLocationByPlatform(true);

setResizable(true);

}

/ 处理事件 /

private void undoAction(ActionEvent e) {

sketchPanelundo();

}

private void redoAction(ActionEvent e) {

sketchPanelredo();

}

private void exitAction(ActionEvent e) {

Systemexit(0);

}

private void lineAction(ActionEvent e) {

// 选中按钮为红色, 其余为黑色

lineButtonsetForeground(ColorRED);

circleButtonsetForeground(ColorBLACK);

rectangleButtonsetForeground(ColorBLACK);

sketchPanelsetShapeType(ShapeTypesLINE);

}

private void circleAction(ActionEvent e) {

circleButtonsetForeground(ColorRED);

lineButtonsetForeground(ColorBLACK);

rectangleButtonsetForeground(ColorBLACK);

sketchPanelsetShapeType(ShapeTypesCIRCLE);

}

private void rectangleAction(ActionEvent e) {

rectangleButtonsetForeground(ColorRED);

lineButtonsetForeground(ColorBLACK);

circleButtonsetForeground(ColorBLACK);

sketchPanelsetShapeType(ShapeTypesRECTANGLE);

}

private void redAction(ActionEvent e) {

redButtonsetForeground(ColorRED);

blueButtonsetForeground(ColorBLACK);

greenButtonsetForeground(ColorBLACK);

sketchPanelsetColor(ColorRED);

}

private void blueAction(ActionEvent e) {

blueButtonsetForeground(ColorRED);

redButtonsetForeground(ColorBLACK);

greenButtonsetForeground(ColorBLACK);

sketchPanelsetColor(ColorBLUE);

}

private void greenAction(ActionEvent e) {

greenButtonsetForeground(ColorRED);

redButtonsetForeground(ColorBLACK);

blueButtonsetForeground(ColorBLACK);

sketchPanelsetColor(ColorGREEN);

}

}/

  

  @author 不落的太阳(Sean Yang)

  @version 10

  @since JDK 18

  

 /

public class SketchpadMain {

/

  测试方法

  

  @param args命令行参数

 /

public static void main(String[] args) {

EventQueueinvokeLater(new Runnable() {

@Override

public void run() {

JFrame frame = new SketchpadFrame();

framesetVisible(true);

framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

}

});

}

}

画图程序可以实现。

不同的画图程序可能有不同的功能和 *** 作方式,但通常都能够提供基本的绘制工具和选项。

除了自带的“画图”程序外,还有许多专业绘图软件可供选择,如Adobe Illustrator, CorelDRAW, SketchUp等。这些软件功能更加强大,支持更多高级特性和效果,并且适合于专业设计人员使用。

画图程序,是最简单的处理软件。它可以实现的合并,最常见的格式转换等,如果不明白,可以打开画图程序点窗口上的帮助里面有说明。

如果您想处理,建议使用PHOTOSHOP,电脑自带的画图程序是小孩,那PS就是大人了,呵呵。网友们大都数都在使用它,朋友试试吧。

windows自带的画图程序的用途是:可以编辑、处理,为加上文字说明,对进行挖、补、裁剪,还支持翻转、拉伸、反色等 *** 作。它的工具箱包括画笔、点、线框及橡皮擦、喷q、刷子等一系列工具。具有完成一些常见的编辑器的基本功能。用它来处理,方便实用,效果不错。

看你想画什么样的图,一般画图的软件: 1 Adobe Photoshop 简体中文 软件类别: 图像处理

Adobe Illustrator CS v11 软件语言: 英文 软件类别: 图像处理 运行环境: Win9x/NT/2000/XP/ Photoshop是著名的图象处理软件

Photoshop是著名的图象处理软件, 为美国ADOBE公司出品。在修饰和处理摄影作品和绘画作品时,具有非常强大的功能

2 Adobe Illustrator CS v11 Adobe Illustrator是一套被设计用来作输出及网页制作双方面用途、功能强大且完善的绘图软件包,这个专业的绘图程序整合了功能强大的向量绘图工具、完整的PostScript输出,并和Photoshop或其它Adobe家族的软件紧密地结合。 第10版增加了诸如Arc、矩型网格线(Rectangular Grid)以及坐标网格线(Polar Grid)工具等新的绘图及自动化优点;增加编辑的灵活度以及标志(编辑主要的对象或图像复制)。你可以运用笔刷及其它如合并、数据驱动坐标等在工具列上的创造工具,帮助你建立联结到数据库的样版。 新的Illustrator还提供更多的网络生产功能,包括裁切图像并支持可变动向量绘图档(SVG)增强。

3 Fireworks MX 2004 简体中文版软件语言: 简体中文 软件类别: 图像处理

4 AutoCAD 设计

5 Corel DRAW

6 三维动画软件 3D Studio(3DS)。它的全称是 3-Dimension Studio,译成中文应该是“三维影像制作室”。 3D Studio MAX(以下简称 MAX)是以 3DS 4x为基础的升级版本,它以全新的 Windows界面及更强大的功能展示在我们面前。用MAX来制作三维动画就像是当一个大导演——一切的角色、道具、灯光、摄像机、场景(包括如云、雾、雪、闪电等特效场面)及配音、镜头的剪辑合成等等都任你来安排处理。

如果你是一位设计家,用MAX来设计产品模型的感觉就像是雕塑家和魔术师,复杂的模型几乎是在瞬间就奇迹般地建立起来了。而用MAX修改创建的模型更是轻而易举的事,完全可以把宝贵的时间和精力集中用在使设计更加完美更加理想上。无论是出于何种目的使用 MAX,一定会充分体会到用计算机工作时的那种“工作就是玩,玩就是工作”的快感。

可以毫不夸张地说,哪里需要三维设计、哪里需要三维动画,哪里就需要MAX。MAX适合于从事下列任何一种职业的专家或业余爱好者:**特技、立体和影视动画广告设计、工业设计、建筑和室内装潢设计、包装与装潢设计、三维游戏开发、软件开发程序员(制作软件片头)、教学多媒体演示制作、军事科学研究和物理、化学或生物化学研究以及所有对三维动画和立体造型感兴趣的广大电脑玩家等。

7 MAYA因其强大的功能在3D动画界造成巨大的影响,已经渗入到**、广播电视、公司演示、游戏可视化等各个领域,且成为三维动画软件中的佼佼者。《星球大战前传》、《透明人》、《黑客帝国》、《角斗士》、《完美风暴》、《恐龙》等到很多大片中的电脑特技镜头都是应用MAYA完成的。逼真的角色动画、丰富的画笔,接近完美的毛发、衣服效果,不仅是影视广告公司对MAYA情有独钟,许多喜爱三维动画制作,并有志向影视电脑特技方向发展的朋友也为MAYA的强大功能所吸引。

8 非线性编辑软件 Adobe Premiere

由ADOBE公司出品的PREMIERE,功能强大, *** 作方便,在非编软件中处于领先地位由它首创的时间线编辑概念已成为行业标准

PREMIERE是一个集音频视频为一体的后期非线性编辑软件,其通用性,兼容性很强,支持众多的图形,视频,音频格式,还支持很多强大的第三方插件,并支持市面上大多数视频卡,成为非线性编辑系统中的核心软件,是影视后期制作中进行非线性编辑的有力工具PREMIERE广泛应用在视频制作的各个领域:电视,多媒体,游戏,网络制作等许多方面,具有广泛的实用性

平面设计及广告设计与动画、电视媒体基本全了

以上就是关于3d画图软件有哪些全部的内容,包括:3d画图软件有哪些、求一个java程序:绘图程序包括画圆,椭圆,线,矩形,自定义。并且可以调图形颜色!、画图程序可以实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10101392.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存