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

作者:Leleprogrammer 时间:2021-11-17 06:04:20 

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

Ursina官网:www.ursinaengine.org

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

打开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()

运行效果:

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

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

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

代码如下:

from ursina import *

app=Ursina()

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

app.run()

效果:

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

对实体进行任意放大

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

代码:

from ursina import *

app=Ursina()

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

app.run()

效果:

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

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

from ursina import *

app=Ursina()

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

app.run()

效果:

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

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

效果:

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

为你的实体上色 

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如何绘制立体图形

来源:https://blog.csdn.net/leleprogrammer/article/details/124780527

标签:Python,Ursina,立体,图形
0
投稿

猜你喜欢

  • Pytorch保存模型用于测试和用于继续训练的区别详解

    2021-12-02 08:49:39
  • linux下安装easy_install的方法

    2022-07-20 15:10:24
  • XML正在接管Web服务 成为SOA的基础

    2008-09-05 17:21:00
  • Python 利用切片从列表中取出一部分使用的方法

    2021-04-05 14:14:19
  • Go语言单例模式详解

    2024-01-30 08:42:41
  • 学习ASP.NET八天入门:第六天

    2007-08-07 13:48:00
  • 解析JavaScript中 querySelector 与 getElementById 方法的区别

    2024-04-19 09:57:32
  • python人工智能tensorflow常用激活函数Activation Functions

    2023-08-01 12:45:02
  • python3连接mysql获取ansible动态inventory脚本

    2024-01-19 23:13:54
  • python多线程操作实例

    2022-09-22 12:21:34
  • pandas 选取行和列数据的方法详解

    2022-12-29 19:28:58
  • python linecache读取行更新的实现

    2021-01-26 01:33:06
  • Python contextlib模块使用示例

    2023-08-08 16:34:23
  • Python 中 Meta Classes详解

    2023-06-02 11:52:47
  • JavaScript体验异步更好的解决办法

    2024-05-29 22:11:56
  • Python pyinstaller库的安装配置教程分享

    2023-06-20 02:08:22
  • DreamweaverMX Ultradev探索:技巧荟萃

    2010-07-13 12:10:00
  • SQL截取字符串函数分享

    2011-11-03 17:07:37
  • 一个SQL语句获得某人参与的帖子及在该帖得分总和

    2024-01-27 07:17:53
  • Python编程argparse入门浅析

    2023-11-05 09:53:01
  • asp之家 网络编程 m.aspxhome.com