Skip to content

Latest commit

 

History

History
492 lines (342 loc) · 12.1 KB

File metadata and controls

492 lines (342 loc) · 12.1 KB
Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0697
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在: 

     个人网站: `https://oeasy.org` 
     蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
     GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
     Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

顺序执行 🥊

回忆上次内容

  • 上次我们 回忆了
    • 笛卡尔的人生
      • 从童年多病
      • 到探索世界
      • 最终 我思故我在
  • 用推理
    • 把世界一分为二
      • 心物二元
    • 意识和物质 总要分出先后
      • 唯物唯心
      • 一直到 软件、硬件

图片描述

  • 笛卡尔发明的 解析几何
    • 把空间中的 几何曲线
    • 量化成 数值和公式
  • blender 是 如何 量化物体的 呢?🤔

开启三视图

  • 找到View
    • Area
    • Toggle Quad View

图片描述

  • 切换
    • 四视图 / 单视图 显示模式

四视图

  • 从透视图 切换到了
    • 四视图

图片描述

  • 四视图 分别是

    • 顶 top orthographic
    • 前 front orthographic
    • 右 right orthographic
    • 透视 perspective
  • 什么是 orthographic?

orthographic

  • orthographic
    • = ortho- + -graph- + -ic
词缀/词根 词源(希腊语) 含义 作用
ortho- orthós 直的、正确的、规整的 前缀,表“标准/正确”的属性
-graph- gráphein 写、画、记录 词根,表“书写/绘制”的动作
-ic 与……相关的 后缀,构成形容词
  1. 制图/3D建模(正射的)
    • 源于“规整的绘制方式” →
    • 特指“无畸变的平行投影绘制”
    • 比如 orthographic projection
    • 正射投影
    • 正交投影

图片描述

  1. 语言学(正字法的)
    • 源于“正确的书写规则”
    • 延伸为“拼写规范的
    • 比如 orthographic rules(拼写规则)

直角

  • orthogonal
    • /ɔːˈθɒɡənl/
    • 垂直的

图片描述

直立石板

  • orthostat
    • | /ˈɔːθəstæt/ | n.
    • (考古)直立石板

图片描述

ortho-

单词 音标 中文释义
orthogonal /ɔːˈθɒɡənl/ adj. 正交的;直角的
orthostat /ˈɔːθəstæt/ n. (考古)直立石板;方柱石
orthotropous /ɔːˈθɒtrəpəs/ adj. (植物)直生的
orthodox /ˈɔːθədɒks/ adj. 正统的;传统的;符合教义的
orthodoxy /ˈɔːθədɒksi/ n. 正统观念;正教;正统做法
orthodontic /ˌɔːθəˈdɒntɪk/ adj. 牙齿矫正的;正畸的
orthodontics /ˌɔːθəˈdɒntɪks/ n. 口腔正畸学
orthodontist /ˌɔːθəˈdɒntɪst/ n. 正畸医生
orthopedic /ˌɔːθəˈpiːdɪk/ adj. 整形外科的;矫形的
orthopedics /ˌɔːθəˈpiːdɪks/ n. 矫形外科学
orthopedy /ˈɔːθəpiːdi/ n. 矫形术(=orthopedics 英式写法)
  • 正的、直的
    • 正宗的

-graph-

  • graph

图片描述

单词 音标 中文释义
graph /ɡrɑːf/ n. 图表;曲线图 v. 绘制图表
graphic /ˈɡræfɪk/ adj. 图形的;生动的;绘画的
graphics /ˈɡræfɪks/ n. 图形学;图表;图像制作
autograph /ˈɔːtəɡrɑːf/ n. 亲笔签名 v. 亲笔书写
photograph /ˈfəʊtəɡrɑːf/ n. 照片 v. 拍照
photographer /fəˈtɒɡrəfə(r)/ n. 摄影师
photography /fəˈtɒɡrəfi/ n. 摄影术;摄影
biography /baɪˈɒɡrəfi/ n. 传记;生平
biographer /baɪˈɒɡrəfə(r)/ n. 传记作家
cartography /kɑːˈtɒɡrəfi/ n. 地图绘制学;制图术
cartographer /kɑːˈtɒɡrəfiə(r)/ n. 制图师
holograph /ˈhɒləɡrɑːf/ n. 亲笔文件;全息图
holography /həˈlɒɡrəfi/ n. 全息摄影术
telegraph /ˈtelɪɡrɑːf/ n. 电报;电报机 v. 发电报
telegraphy /təˈleɡrəfi/ n. 电报学;电报通讯

ortho- + -graph-

单词 音标 中文释义
orthographic /ˌɔːθəˈɡræfɪk/ adj. 正字法的;正射投影的
orthography /ɔːˈθɒɡrəfi/ n. 正字法;拼写规则
orthographer /ɔːˈθɒɡrəfə(r)/ n. 正字法学者;拼写规范研究者
orthographically /ˌɔːθəˈɡræfɪkli/ adv. 按照正字法;以正射方式
  • orthographic vs perspective
对比维度 orthographic perspective
音标 /ˌɔːθəˈɡræfɪk/ /pəˈspektɪv/
核心词性 形容词 形容词
名词
3D 领域核心含义 正射投影的
投影线平行
没有近大远小的变形
透视投影的(形容词)
透视效果/视角(名词)
模拟人眼
近大远小
词根来源 希腊语“直的、正确的”+“写、画”
本意是规整绘制
拉丁语“看透、看穿”
本意是穿过介质去看
建模应用特点 能精准看清楚物体的实际大小和比例
做模型细节调整时用着方便
看着和人眼实际看到的效果一样
比较自然
适合看模型最终长啥样
  • 如何理解区别?

修改立方体

  • 修改 立方体参数
    • 从四个角度观察Cube

图片描述

透视投影

  • 透视图 有近大远小的特点
    • 符合人眼的规律

图片描述

  • 那为什么有正视图这种东西呢?

正视图(orthographic view)

  • 核心原因是 透视图虽然“看着自然”
    • 但没法精准干活
  • 以前的 工程制图 都使用
    • 正三视图
    • orthographic three-view
      1. front view
      2. top view
      3. left side view

图片描述

  • 二者是“视觉效果”和“精准操作”的互补关系

    1. 透视图会“骗人”,尺寸比例不准

      • 透视图的近大远小是一种视觉畸变
    2. 正视图无畸变,是建模的“精准标尺”

      • 正视图的投影线是平行的
      • 物体大小和距离镜头的远近没关系
    3. 实际建模是“正视图干活,透视图看效果”

    • 比如做DNA双螺旋:
    • 用正视图定好每个螺旋的间距、圆柱的粗细
      • 保证结构对称
    • 切回透视图
      • 看看螺旋的弯曲弧度是否自然
      • 有没有符合真实的视觉观感
  • 可以让透视图也变成正视图吗?

透视变正视

  • 选中 透视图
    • 选择菜单
    • View - perspective/orthographic

图片描述

  • 再次点击
    • 可以切换回来

复制Cube

  • 先把 自动吸附开启

    • 在顶视图 选中 Cube
      • shift + d
      • 复制一个新的Cube.001
  • y将移动限制在y轴

    • 移动y到6的位置

图片描述

  • 如果手动移动有失误
    • 就键入具体数值6

继续复制

  • 选中两条 立棍
    • shift + d
    • 复制两个新的 立棍

图片描述

  • x将移动限制在x轴
    • 移动x到6的位置

控制

  • 选中后两根立棍
    • 设置postion.z 和 scale.z

图片描述

  • 准备安装坐板

坐板

  • 新建立方体Cube.004
    • 如图 设置scale
      • (3.5, 3.5, 0.2)

图片描述

  • 修改位置
    • postion
    • (3, 3, 6)

图片描述

  • 准备安装靠背

靠背

  • 选中坐板 shift + d
    • 复制 坐板
    • shift + space 切到菜单
      • rotation 旋转

图片描述

  • 按下ctrl控制旋转角度
    • 旋转到垂直的时候 停止

图片描述

  • 把靠背移动到合适位置

完成靠背

  • 修改scale.x为1

图片描述

shift + d - 复制 靠背板

  • 将 新靠背 移动到合适位置

可控移动

  • 移动的时候
    • 按下 win 或command
      • 可以一格一格的移动
    • 按下 shift 键
      • 可以精细移动

图片描述

可控旋转

  • 旋转的时候
    • 按下 ctrl
      • 可以一格一格的旋转
    • 按下 shift 键
      • 可以 精细 旋转

图片描述

可控缩放

  • 缩放的时候
    • 按下 ctrl
      • 可以一格一格的缩放
    • 按下 shift
      • 可以 精细 缩放

图片描述

视图图层控制

  • 选择 在视图 中
    • 开启 线框 图层

图片描述

  • 可以用代码实现这个椅子吗?

代码

import bpy

bpy.ops.object.select_all(action="SELECT")
bpy.ops.object.delete()

matrix = (
    ((0, 0, 9), (0.5, 0.5, 9)),
    ((0, 6, 9), (0.5, 0.5, 9)),
    ((6, 0, 3), (0.5, 0.5, 3)),
    ((6, 6, 3), (0.5, 0.5, 3)),
    ((3, 3, 6), (3.5, 3.5, 0.2)),
    ((0, 3, 11.5), (0.2, 1, 5.5)),
    ((0, 3, 17), (0.2, 3.5, 1)),
)

for vector in matrix:
    bpy.ops.mesh.primitive_cube_add()
    bpy.context.object.location = vector[0]
    bpy.context.object.scale = vector[1]
  • 用代码做一把类似的

图片描述

准备合并

图片描述

  • 选中所有的Cube
    • 观察底行
数量 英文 中文
56 Verticals
42 Faces
84 Triangles 三角面
7 Objects 对象
47.2Mb Memory 内存
  • 这横条是什么?

场景统计

图片描述

  • 5.0版本后
    • 可以在Edit-Preference中开启

图片描述

  • 想把这些cube都合并

合并

  • 选中所有Cube之后
    • 组合元素
    • Join

图片描述

  • 原来的多个Cube
    • 合成了一个网格(mesh)

图片描述

  • 可以用代码实现合并 (Join)吗?

代码实现

import bpy

bpy.ops.object.select_all(action="SELECT")
bpy.ops.object.delete()

matrix = (
    ((0, 0, 9), (0.5, 0.5, 9)),
    ((0, 6, 9), (0.5, 0.5, 9)),
    ((6, 0, 3), (0.5, 0.5, 3)),
    ((6, 6, 3), (0.5, 0.5, 3)),
    ((3, 3, 6), (3.5, 3.5, 0.2)),
    ((0, 3, 11.5), (0.2, 1, 5.5)),
    ((0, 3, 17), (0.2, 3.5, 1)),
)

for vector in matrix:
    bpy.ops.mesh.primitive_cube_add()
    bpy.context.object.location = vector[0]
    bpy.context.object.scale = vector[1]

bpy.ops.object.select_all(action="SELECT")
bpy.ops.object.join()

回到透视图

  • View
    • Area
    • Toggle Quad View

图片描述

  • 回到单一的透视图

图片描述

四视图制作

  • 尝试在四视图下制作好玩的东西

图片描述

总结

  • 这次我们了解了
    • 正视图/透视图
    • orthography/ perspective
      • 透视图负责渲染效果“好看”
      • 正视图负责“做对”

图片描述

  • 椅子 是由一系列 元素构成的
数量 英文 中文
56 Verticals
42 Faces
84 Triangles 三角面
7 Objects 对象
47.2Mb Memory 内存
  • 三视图是怎么来的呢?🤔
  • 我们下次再说!👋

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。