详解Python 3D引擎Ursina如何绘制立体图形

目录
  • 编写第一个程序
  • 绘制实体长方体
  • 对实体进行同样比例的放大和缩小
  • 对实体进行任意放大
  • 绘制球体
  • 为你的实体上色

Python有一个不错的3D引擎——Ursina

Ursina官网:www.ursinaengine.org

打开cmd,控制台输入pip install ursina以安装ursina

编写第一个程序

首先导入ursina

from ursina import *

然后创建app

app=Ursina()

运行app

app.run()

最终代码:

from ursina import *

app=Ursina()

app.run()

如果出现了一个灰色的窗口,那么说明运行成功了!

绘制实体长方体

绘制实体需要用到一个函数:

Entity()

因为我们要绘制长方体,所以设置参数model="cube"

代码如下:

from ursina import *

app=Ursina()

cube=Entity(model="cube")

app.run()

运行效果:

对实体进行同样比例的放大和缩小

我们要将整个实体同比放大2倍,Entity中传入scale参数,值为2

代码如下:

from ursina import *

app=Ursina()

cube=Entity(model="cube",scale=2)

app.run()

效果:

对实体进行任意放大

我们要让正方体沿着x方向放大2倍,那就需要传入scale_x参数,值为2

代码:

from ursina import *

app=Ursina()

cube=Entity(model="cube",scale_x=2)

app.run()

效果:

还可以沿着y(高度)放大,代码如下:

from ursina import *

app=Ursina()

cube=Entity(model="cube",scale_y=2)

app.run()

效果:

scale参数还可以传入一个元组,格式为(float,float,float),表示xyz边各放大不同的倍数,代码示例如下:

from ursina import *

app=Ursina()

cube=Entity(model="cube",scale=(2,3,4))

app.run()

绘制球体

from ursina import *

app=Ursina()

sphere=Entity(model="sphere")

app.run()

像创建cube一样,只是将model的值改为sphere

效果:

为你的实体上色

Ursina自带color模块,一些常用的颜色可以通过 color.颜色名 进行使用,也可以用color.rgb()函数传入rgb或rgba的数值,示例:

from ursina import *

app=Ursina()

sphere=Entity(model="sphere",color=color.red)

app.run()
from ursina import *

app=Ursina()

sphere=Entity(model="sphere",color=color.rgb(255,0,0))

app.run()

两段代码运行后效果都是一样的,效果如下:

到此这篇关于详解Python 3D引擎Ursina如何绘制立体图形的文章就介绍到这了,更多相关Python Ursina绘制立体图形内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python绘制3D立体花朵示例详解

    目录 动态展示 导读 源码和详解 荷花 玫瑰花 桃花 月季 动态展示 这是一个动态图哦 导读 兄弟们可以收藏一下哦!情人节可以送出去,肥学找了几朵python写的花给封装好送给大家.不是多炫酷但是有足够的用心哦.别忘了点赞呀我也就不细说了,来吧展示! 源码和详解 荷花 def lotus(): fig = plt.figure(figsize=(10,7),facecolor='black',clear=True) ax = fig.gca(projection='3d') [x, t] = n

  • 基于Python绘制3D立体爱心图案的示例详解

    目录 原理 点画法(实心) 代码 运行效果 点画法(空心) 代码 运行效果 折线画法 (线团) 代码 运行效果 等高线画法(线框) 代码 运行效果 原理 1.使用python中的mtplotlib库. 2.立体爱心面公式 点画法(实心) 代码 import matplotlib.pyplot as plt #导入绘图模块 from mpl_toolkits.mplot3d import Axes3D #3d绘图模块 import numpy as np #导入数值计算拓展模块 #start ge

  • 详解Python 3D引擎Ursina如何绘制立体图形

    目录 编写第一个程序 绘制实体长方体 对实体进行同样比例的放大和缩小 对实体进行任意放大 绘制球体 为你的实体上色 Python有一个不错的3D引擎——Ursina Ursina官网:www.ursinaengine.org 打开cmd,控制台输入pip install ursina以安装ursina 编写第一个程序 首先导入ursina from ursina import * 然后创建app app=Ursina() 运行app app.run() 最终代码: from ursina imp

  • 详解Python实现多进程异步事件驱动引擎

    本文介绍了详解Python实现多进程异步事件驱动引擎,分享给大家,具体如下: 多进程异步事件驱动逻辑 逻辑 code # -*- coding: utf-8 -*- ''' author: Jimmy contact: 234390130@qq.com file: eventEngine.py time: 2017/8/25 上午10:06 description: 多进程异步事件驱动引擎 ''' __author__ = 'Jimmy' from multiprocessing import

  • 详解Python+Turtle绘制奥运标志的实现

    目录 1. 画圆 2. 画奥运标识 3. 重构代码 4. 美化标识 5. 总结 最近了解了Python Turtle,非常简单有趣.为了培养小朋友兴趣,写个turtle画奥运标志程序. 1. 画圆 turtle属于内置包,无需安装.只要导入即可以画图,下面先写几行代码画圆. import turtle t = turtle.Pen() t.circle(50) t.getscreen()._root.mainloop() 导入turtle之后,创建Pen画笔t,避免后续代码.circle方法是画

  • 详解Python如何利用turtle绘制中国结

    目录 导语 一.中国结 01  平安喜乐 1)效果图 2)附代码 二.中国结 02 心想事成 1)效果图 2)附代码 三.中国结 03 烟火年年 总结 导语 春节是中国特有的传统节日,中国结是中华民族特有的纯粹的文化精髓,富含丰富的文化底蕴,代表着我们对未来,对美好生活的向往和憧憬.新春佳节,小编祝福大家虎年吉祥!万事如意!祝我们的祖国引领世界,勇立潮头!国富民强! 渐渐的,渐渐的,新年很快就要到来.在快过新年时,人们有一个习俗,那就是买“中国结”. 据说,中国结可以让一家人平平安安.幸福,所以

  • 详解Python+Matplotlib绘制面积图&热力图

    目录 1.绘制面积图 2.绘制热力图 1.绘制面积图 面积图常用于描述某指标随时间的变化程度.其面积也通常可以有一定的含义. 绘制面积图使用的是plt.stackplot()方法. 以小学时期学的 常见的追击相遇问题中的速度时间图像为例,下边绘制出一幅简单的v-t图像. 全局字体设为默认的黑体,时间为从第0秒到第10秒,描述的是甲乙两个物体的速度.显然,面积则表示位移. 标题部分字体使用楷体(将系统中的TTF字体文件"STKAITI.TTF"复制到了当前目录下). import mat

  • 详解Python+Pyecharts实现漏斗图的绘制

    目录 任务描述 相关知识 编程要求 测试说明 代码 任务描述 本关任务:利用 PyEcharts 绘制一个基本的漏斗图. 相关知识 为了完成本关任务,你需要掌握: 1. Python 的基本语法 2. PyEcharts 漏斗图的相关内容 导入图表类型 与日历图的操作类似,在文件的开始我们首先要将所需包导入,如右侧编辑器中代码所示. 导入漏斗图的语句为 from pyecharts.charts import Funnel 为了方便构造数据,我们还导入了 PyEcharts 提供的虚拟数据包,如

  • 详解Python的爬虫框架 Scrapy

    网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据.虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间.Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便. 一.概述 下图显示了Scrapy的大体架构,其中包含了它的主要组件及系统的数据处理流程(绿色箭头所示).下面就来一个个解释每个组件的作用及数据的处理过程(注:图片来自互联网). 二.组件 1.Scrapy Engine(Scrapy引擎) Scrapy引擎

  • 详解Python 函数参数的拆解

    本文为阅读 <Python Tricks: The Book>一书的 3.5 Function Argument Unpacking 的笔记与扩充理解.函数参数拆解是定义可变参数(VarArgs) *args 和 **kwargs 的反向特性. *args 和 **kwars 是函数可定义一个形参来接收传入的不定数量的实参. 而这里的函数参数拆解是形参定义多个,在调用时只传入一个集合类型对象(带上 * 或 ** 前缀),如 list, tuple, dict, 甚至是 generator, 然

  • 详解python内置模块urllib

    urllib 是 python 的内置模块, 主要用于处理url相关的一些操作,例如访问url.解析url等操作. urllib 包下面的 request 模块主要用于访问url,但是用得太多,因为它的光芒全都被 requests 这个第三方库覆盖了,最常用的还是 parse 模块. 写爬虫过程中,经常要对url进行参数的拼接.编码.解码,域名.资源路径提取等操作,这时 parse 模块就可以排上用场. 一.urlparse urlparse 方法是把一个完整的URL拆分成不同的组成部分,你可以

  • 详解python 支持向量机(SVM)算法

    相比于逻辑回归,在很多情况下,SVM算法能够对数据计算从而产生更好的精度.而传统的SVM只能适用于二分类操作,不过却可以通过核技巧(核函数),使得SVM可以应用于多分类的任务中. 本篇文章只是介绍SVM的原理以及核技巧究竟是怎么一回事,最后会介绍sklearn svm各个参数作用和一个demo实战的内容,尽量通俗易懂.至于公式推导方面,网上关于这方面的文章太多了,这里就不多进行展开了~ 1.SVM简介 支持向量机,能在N维平面中,找到最明显得对数据进行分类的一个超平面!看下面这幅图: 如上图中,

随机推荐