詳解Python 3D引擎Ursina如何繪制立體圖形
Python有一個(gè)不錯(cuò)的3D引擎——Ursina
Ursina官網(wǎng):www.ursinaengine.org
打開(kāi)cmd,控制臺(tái)輸入pip install ursina以安裝ursina
編寫(xiě)第一個(gè)程序
首先導(dǎo)入ursina
from ursina import *
然后創(chuàng)建app
app=Ursina()
運(yùn)行app
app.run()
最終代碼:
from ursina import * app=Ursina() app.run()
如果出現(xiàn)了一個(gè)灰色的窗口,那么說(shuō)明運(yùn)行成功了!
繪制實(shí)體長(zhǎng)方體
繪制實(shí)體需要用到一個(gè)函數(shù):
Entity()
因?yàn)槲覀円L制長(zhǎng)方體,所以設(shè)置參數(shù)model="cube"
代碼如下:
from ursina import * app=Ursina() cube=Entity(model="cube") app.run()
運(yùn)行效果:
對(duì)實(shí)體進(jìn)行同樣比例的放大和縮小
我們要將整個(gè)實(shí)體同比放大2倍,Entity中傳入scale參數(shù),值為2
代碼如下:
from ursina import * app=Ursina() cube=Entity(model="cube",scale=2) app.run()
效果:
對(duì)實(shí)體進(jìn)行任意放大
我們要讓正方體沿著x方向放大2倍,那就需要傳入scale_x參數(shù),值為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參數(shù)還可以傳入一個(gè)元組,格式為(float,float,float),表示xyz邊各放大不同的倍數(shù),代碼示例如下:
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()
像創(chuàng)建cube一樣,只是將model的值改為sphere
效果:
為你的實(shí)體上色
Ursina自帶color模塊,一些常用的顏色可以通過(guò) color.顏色名 進(jìn)行使用,也可以用color.rgb()函數(shù)傳入rgb或rgba的數(shù)值,示例:
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()
兩段代碼運(yùn)行后效果都是一樣的,效果如下:
到此這篇關(guān)于詳解Python 3D引擎Ursina如何繪制立體圖形的文章就介紹到這了,更多相關(guān)Python Ursina繪制立體圖形內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)Word的讀寫(xiě)改操作
本文主要介紹了運(yùn)用docx模塊實(shí)現(xiàn)讀取Word,調(diào)整Word樣式以及Word 寫(xiě)入操作的示例代碼,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-11-11python matplotlib imshow熱圖坐標(biāo)替換/映射實(shí)例
這篇文章主要介紹了python matplotlib imshow熱圖坐標(biāo)替換/映射實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03python實(shí)現(xiàn)bitmap數(shù)據(jù)結(jié)構(gòu)詳解
bitmap是很常用的數(shù)據(jù)結(jié)構(gòu),比如用于Bloom Filter中,下面是使用python實(shí)現(xiàn)bitmap數(shù)據(jù)結(jié)構(gòu)的代碼講解,需要的朋友可以參考下2014-02-02Python基于tkinter canvas實(shí)現(xiàn)圖片裁剪功能
這篇文章主要介紹了Python基于tkinter canvas實(shí)現(xiàn)圖片裁剪功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11python tkinter圖形界面代碼統(tǒng)計(jì)工具(更新)
這篇文章主要為大家詳細(xì)介紹了python tkinter圖形界面代碼統(tǒng)計(jì)工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09Python實(shí)戰(zhàn)之實(shí)現(xiàn)百度智能圖片識(shí)別
這篇文章主要介紹了如何利用Python編寫(xiě)一個(gè)百度智能圖片識(shí)別項(xiàng)目,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下2022-01-01pandas數(shù)據(jù)分組groupby()和統(tǒng)計(jì)函數(shù)agg()的使用
這篇文章主要介紹了pandas數(shù)據(jù)分組groupby()和統(tǒng)計(jì)函數(shù)agg()的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03python-opencv獲取二值圖像輪廓及中心點(diǎn)坐標(biāo)的代碼
今天小編就為大家分享一篇python-opencv獲取二值圖像輪廓及中心點(diǎn)坐標(biāo)的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08