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

 更新时间:2023年01月05日 16:28:29   作者:Leleprogrammer  
Python有一个不错的3D引擎——Ursina。本文就来手把手教你认识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绘制立体图形内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现Word的读写改操作

    Python实现Word的读写改操作

    本文主要介绍了运用docx模块实现读取Word,调整Word样式以及Word 写入操作的示例代码,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-11-11
  • python语言中有算法吗

    python语言中有算法吗

    在本篇文章里小编给大家整理的是一篇关于python里算法的相关知识点内容,有兴趣的朋友们可以学习下。
    2020-06-06
  • python matplotlib imshow热图坐标替换/映射实例

    python matplotlib imshow热图坐标替换/映射实例

    这篇文章主要介绍了python matplotlib imshow热图坐标替换/映射实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python实现bitmap数据结构详解

    python实现bitmap数据结构详解

    bitmap是很常用的数据结构,比如用于Bloom Filter中,下面是使用python实现bitmap数据结构的代码讲解,需要的朋友可以参考下
    2014-02-02
  • Python基于tkinter canvas实现图片裁剪功能

    Python基于tkinter canvas实现图片裁剪功能

    这篇文章主要介绍了Python基于tkinter canvas实现图片裁剪功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python tkinter图形界面代码统计工具(更新)

    python tkinter图形界面代码统计工具(更新)

    这篇文章主要为大家详细介绍了python tkinter图形界面代码统计工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • Django内容增加富文本功能的实例

    Django内容增加富文本功能的实例

    下面小编就为大家带来一篇Django内容增加富文本功能的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Python实战之实现百度智能图片识别

    Python实战之实现百度智能图片识别

    这篇文章主要介绍了如何利用Python编写一个百度智能图片识别项目,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以参考一下
    2022-01-01
  • pandas数据分组groupby()和统计函数agg()的使用

    pandas数据分组groupby()和统计函数agg()的使用

    这篇文章主要介绍了pandas数据分组groupby()和统计函数agg()的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • python-opencv获取二值图像轮廓及中心点坐标的代码

    python-opencv获取二值图像轮廓及中心点坐标的代码

    今天小编就为大家分享一篇python-opencv获取二值图像轮廓及中心点坐标的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08

最新评论