vpython 是python默认的3D模块,和python有一样的风格。与PyOpenGL相比,容易上手。

vpython下载:vpython的官网(www.vpython.org)。顺便说一句,官网强大的模块,一般都强大。

安装好了之后,可以在C:\Python27\Lib\site-packages\visual(视python的安装目录而定)中的doc,examples里查看一些文档和例子。

第一个vpython程序

from visual import *

sphere()

这里要注意,导与vpython模块,不是import vpython,而是import visual。

sphere函数创建一个球,然后就没然后了,连窗体都不用构建,vpython自动帮你生成,当然自己也可设置。

sphere函数的参数有pos(球心的坐标位置)、color(颜色)、radius(半径)、material(材质)等。

类似的我们可以创建其他的一些几何体,如下表

arrow

箭头

box

长方体

cone

圆锥

convex

凸面体(由点决定)

curve

曲线

cylinder

圆柱

ellipsoid

椭球体

faces

多面体(由面决定)

helix

螺旋线

label

标签

points

pyramid

正四棱锥

ring

text

文字(3d效果)

更多可以在http://www.vpython.org/contents/docs_vp5/visual/index.html中查阅,这里啥都有。

当然对与类似于圆锥来说,还有一个参数axis决定圆锥的指向,当然这个参数也可以决定圆锥的高。

此外,对于参数materials,它的值可以是

materials.wood

materials.rough

materials.marble

materials.plastic

materials.earth

materials.diffuse

materials.emissive (looks like it glows)

materials.unshaded (unaffected by lighting)

在 VPython 5.50中还有

materials.shiny

materials.chrome

materials.blazed

materials.silver

materials.BlueMarbe (earth with clouds)

materials.bricks

————————————————————————————————————————————

gameobjects 的下载地址:https://code.google.com/p/gameobjects/downloads/list

————————————————————————————————————————————

vpython中运动

vpython中的坐标系:

from visual import *

a=sphere()

a.pos.x+=10

直接改变几何体的pos参数,就可实现几何体的平移。若想实现动画

from visual import *

a=sphere()

while True:

rate(100)

a.pos.x+=0.1

这里的rate(100)是设置动画每秒的帧数为100,即延时0.01秒。

除了平移,我们还能用rotate函数实现旋转

from visual import *

a=box(length=5,width=3,height=1)

while True:

rate(100)

a.rotate(axis=(1,0,0),angle=math.pi/400,origin=(0,0,0))

rotate函数中的参数axis确定旋转的方向,其值为旋转面的法向量,angle是转动的角度,而origin则是旋转的圆心。需要说明的是,旋转是几何体的中心对圆心旋转。如果设置origin=a.pos,则是几何体a绕自己的中心旋转;如果设置origin的值为几何体的边缘,则是几何体a绕该边缘旋转。

能够实现平移和旋转,我们可以利用以前物理中学过的运动的合成与分解,实现几何体的很多运动了。

先写到这吧。

print "Good luck!"

Good luck!

初探领域驱动设计(2)Repository在DDD中的应用

概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...

CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探

CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...

从273二手车的M站点初探js模块化编程

前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...

JavaScript学习(一) —— 环境搭建与JavaScript初探

1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...

.NET文件并发与RabbitMQ(初探RabbitMQ)

vpython_vpython初探相关推荐

  1. 2021年大数据Flink(九):Flink原理初探

    Flink原理初探 Flink角色分工 在实际生产中,Flink 都是以集群在运行,在运行的过程中包含了两类进程. JobManager: 它扮演的是集群管理者的角色,负责调度任务.协调 checkp ...

  2. 从壹开始微服务 [ DDD ] 之一 ║ D3模式设计初探 与 我的计划书

    缘起 哈喽大家周四好!又是开心的一天,时间过的真快,我们的 <从壹开始 .net core 2.1 + vue 2.5 >前后端分离系列共 34 篇已经完结了,当然以后肯定还会有更新和修改 ...

  3. 经典算法研究系列:二、Dijkstra 算法初探

    经典算法研究系列:二.Dijkstra 算法初探  July   二零一一年一月 ====================== 本文主要参考:算法导论 第二版.维基百科. 写的不好之处,还望见谅. 本 ...

  4. las格式测井曲线_邹榕,等:顺北和托甫台区块奥陶系断裂结构单元测井响应特征初探...

    引用格式:邹榕,徐中祥,张晓明,等.顺北和托甫台区块奥陶系断裂结构单测井响应特征初探[J].油气藏评价与开发,2020,10(2):18-23.ZOUR, XU Z X, ZHANG X M, et ...

  5. 2018-4-15摘录笔记,《网络表征学习前沿与实践》 崔鹏以及《网络表征学习中的基本问题初探》 王啸 崔鹏 朱文武

    1.来源:<网络表征学习前沿与实践>  崔鹏 (1)随着数据的增加以及计算机计算速度的增加,想当然的以为速度快了,数据再多也是可以自己算的,但是若是数据之间存在着复杂的关系,那么处理一个样 ...

  6. python argparse_Python 命令行之旅:初探 argparse

    本文首发于 HelloGitHub 公众号,并发表于 Prodesire 博客. 前言 你是否好奇过在命令行中敲入一段命令后,它是如何被解析执行的?是否考虑过由自己实现一个命令行工具,帮你执行和处理任 ...

  7. HTML5+MUI+HBuilder 之初探情人

    07,08年那会儿正当Java火爆,C/C++仍是广泛运用的一门语言的时候,所以我的大学都献给了C/C++和Java.当诺基亚的倒闭成为按键机时代衰落的标志时,移动APP的开发也如破堤之洪.爆炸式的崛 ...

  8. 使用Mahout搭建推荐系统之入门篇3-Mahout源码初探

    2019独角兽企业重金招聘Python工程师标准>>> 用意: 希望了解Mahout中数据的存储方式, 它如何避免java object带来的冗余开销.学完知识,要进行些实战 去分析 ...

  9. SAP RETAIL 补货类型RF之初探 II

    SAP RETAIL 补货类型RF之初探 II 1, 补货参数 – TargetCoverage字段不能为空. 如果不维护这个参数值,系统会提示:Target stock calculated dyn ...

  10. SAP RETAIL 补货类型RF之初探 I

    SAP RETAIL 补货类型RF之初探 I SAP RETAIL系统里,商品主数据里MRP Type字段值如果是RF (Replenish with dyn.TargetStock ), 则系统在自 ...

最新文章

  1. ie9下console不兼容的问题
  2. 树形dp ——树的重心
  3. 为什么信不过AI看病?数据集小、可靠性差,AI医疗任重道远
  4. 实例:Linux EXT3文件系统下成功恢复误删的文件
  5. 采用信号量机制实现消费者与生产者的线程同步_你还能聊聊常用的进程同步算法? 上篇[五]...
  6. 利用栈进行程序的括号匹配
  7. 计算机协会小游戏,网页闯关小游戏闯关记录(一)ISA TEST
  8. 14002.petalinux编译配置项目
  9. 解决linux中xorg占用gpu问题
  10. 深度学习实践指南(二)—— 符号编程
  11. 浅析单调递增子序列问题(LIS)
  12. 可视化管理_供应链可视化管理作用与现状分析
  13. 微信小程序项目实例——飞机大战
  14. 我是如何完美解决WIN10崩溃无法自动恢复启动问题的
  15. 小程序UI组件库合集——Vant、iView、ColorUI
  16. 软路由安装矿工无盘服务器,NAS,PT,软路由app服务端安装
  17. php pdo 中dsn参数,PDO连接数据库及DSN详解
  18. android studio怎么创建布局,Android Studio--活动创建简单布局
  19. iOS横屏电子签名上篇【核心原理: 旋转特定的屏幕 Quartz2D】应用场景:采集电子签名,支持签名界面为横屏其余页面都是竖屏、清除重写、灵活控制提示语信息、以及查看商户协议等
  20. spring容器里存取bean

热门文章

  1. 计算机考证培训班价格
  2. win10 mstsc 设置
  3. 年末总结_聊一聊数据库行业的“继往开来”
  4. const T 与T const(const T vs.T const的翻译 Dan Saks)
  5. 浙大超厉害计算机硕士生导师
  6. 实战例子:Solidity代码小失误导致池子里60万U被盗空
  7. 生成对抗网络(六)----------Image Denoising Using a Generative Adversarial Network(用GAN对图像去噪)
  8. 【安全牛苑房弘】Kali Linux 环境熟悉
  9. 你在工作中会写测试用例嘛?Mockito 的最佳实践
  10. FineReport报表设计基础