详解Python 3D引擎Ursina如何绘制立体图形
作者:Leleprogrammer 发布时间:2021-11-17 06:04:20
标签:Python,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()
两段代码运行后效果都是一样的,效果如下:
来源:https://blog.csdn.net/leleprogrammer/article/details/124780527


猜你喜欢
- 以前工作的时候由于Oracle8i数据库经常出现用户过多的错误,由于数据量大,经常出现ORA:12500错误,但主要原因是访问过多而引起的,
- 我们以一个例子展开这个题目问题:python类对象A,先实例化一个A对象的实例b,接着给A对象添加一个类共享变量xxx,再实例化一个c,请问
- MVVM模式不但可用于Form表单,在复杂的管理页面中也能大显身手。例如,分页显示Blog的功能,我们先把后端代码写出来:在apis.py中
- 中文繁体、简体的差异,在NPL中类似英文中的大小写,但又比大小写更为复杂,比如同样为繁体字,大陆、香港和台湾又不一样。先前写过一篇中文繁简转
- python中的列表是可以直接进行逆序排列的,但是在 python中,逆序排列也是有一定规则的,一般是按升序排序,也就是从左到右。比如 li
- 在默认情况下,MySQL搜索不区分大小写(但某些字符集始终区分大小写,如czech)。这意味着,如果你使用col_name LIKE
- 配置 thriftpython使用的包 thrift个人使用的python 编译器是pycharm community edition. 在
- 有一道算法题题目的意思是在二维数组里找到一个峰值。要求复杂度为n。解题思路是找田字(四边和中间横竖两行)中最大值,用分治法递归下一个象限的田
- 1.创建应用django-admin startproject cloudmscd cloudmspython manage.py star
- 一、函数解释1.Softmax函数常用的用法是指定参数dim就可以:(1)dim=0:对每一列的所有元素进行softmax运算,并使得每一列
- 函数形式:index_select( dim, index)参数:dim:表示从第几维挑选数据,类型为int值;index:表示从第一个参数
- 一、auth模块# 创建超级用户python manage.py createsuperuserfrom django.contrib im
- argparse是python用于解析命令行参数和选项的标准模块。很多时候,需要用到解析命令行参数的程序,目的是在终端窗口输入训练的参数和选
- 大家都在关注视觉的盛宴,西方的美学;今天就分享下,中国最为古老的美,也是身边随处可见的美学–中国汉字书法之美;古文者,仓颉做造也。仰观奎星园
- 我们可以很轻松的从1到9或者从9到1正着背一遍,反着背一遍。但是想要在编程实现这些看起来简单的操作,就没那么容易了。因为计算机需要一些指令,
- 在Windows平台上,从原来使用C/C++编写原生EXE程序,到使用Python编写一些常用脚本程序,成熟的模块的使用使得编程效率大大提高
- 动画精灵和碰撞检测一、动画精灵动画精灵:四处移动的单个图像或图像部分称为动画精灵(sprite),pygame有一个特殊的模块帮助跟踪屏幕上
- 本文要实现的是点击标签滚动定位到对应位置,且给在当前板块范围指定的导航标签添加样式效果的话看下面GIFwxml部分top当前离顶部滚动的距离
- 一、待搜索图二、测试集三、new_similarity_compare.py# -*- encoding=utf-8 -*-from ima
- 尽管可能是个比较老的话题了,但是我还是从来没有整理过。今天在《精通HTML》一书中看到,这里整理一下。在XHTML中,<html>