自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

讀懂 CSS 投影與透視

開發(fā) 前端
CSS(英文全稱:Cascading Style Sheets)是一種用來表現(xiàn)HTML(標準通用標記語言的一個應(yīng)用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。

投影

把三維物體變?yōu)槎S圖形表示的過程稱為投影變換。

根據(jù)投影中心與投影平面之間距離的不同,投影可分為 「平行投影」 和 「透視投影」。平行投影的投影中心與投影之間的距離為無窮大,如左圖;而對透視投影,這距離是有限的,如右圖。

在 CSS 中,使用 transform3d 變換后的圖形也就有了投影的概念。

平行投影

平行投影包括斜平行投影和正平行投影

開啟transform3d后,在未開啟透視的情況下,所有html元素默認處于translateZ=0的狀態(tài),即屬于正平行投影

透視投影

一點透視

  • 視平線
  • 一個消失點

兩點透視

  • 視平線
  • 兩個消失點

三點透視

  • 視平線
  • 三個消失點

在css中,只有一點透視的概念。消失點就是 perspective-origin。

平行投影和透視投影

無數(shù)條投影線組成投影空間

透視投影的投影空間用四棱錐表示

平行投影的投影空間用四棱柱表示

最終投影得出的畫面由棱柱/棱錐的每個截面(縮放到同一大小后)合成,所以透視投影就會出現(xiàn)近大遠小,而平行投影反映了物體之間的絕對大小

css透視

perspective

css透視需要關(guān)注幾個點

如圖所示,

  • 投影中心:眼睛
  • 投影面:drawing surface
  • 即屏幕最終顯示的效果
  • 投影面的translateZ=0
  • 物體:
  • 虛線的圓代表物體實際的大小
  • 圖1代表物體translateZ>0的情況
  • 圖2代表物體translateZ<0的情況
  • 實線的圓代表平行投影后的大小
  • 同時也代表在透視投影中,物體translateZ=0的情況
  • 藍色的圓代表透視投影后的大小
  • 投影中心到投影面的距離:d
  • 即perspective的值
  • 如果物體translateZ>=d,那么將不會出現(xiàn)在投影面中
  • 物體到投影面的距離:z
  • 即translateZ的值

perspective-origin

perspective-origin即一點透視中的消失點,可以把每個正方體理解為不同origin時展示的畫面

讀者可通過在線示例了解更多細節(jié):https://codepen.io/dkplus/pen/powJYgm

責(zé)任編輯:武曉燕 來源: Tecvan
相關(guān)推薦

2022-07-19 06:20:47

CSSbackground

2022-09-22 09:00:46

CSS單位

2009-07-10 15:18:48

Synth外觀Swing外觀

2013-05-10 16:42:26

2014-04-28 14:06:41

2021-01-05 08:10:00

Css前端3D旋轉(zhuǎn)透視

2022-05-12 08:01:18

KubernetesDocker容器

2023-05-17 08:28:55

2011-05-05 13:47:46

微型投影機

2011-04-26 13:46:57

投影機

2011-04-29 10:53:35

投影幕

2010-09-13 13:44:35

CSS表格CSS表單

2017-02-20 11:48:15

戴爾

2011-07-08 13:40:18

2022-12-08 14:18:45

2022-03-24 17:56:51

數(shù)據(jù)平臺觀測

2010-09-01 15:28:11

CSSexpression

2010-08-18 13:45:07

IE6IE7FF

2010-09-28 15:15:52

DHCP協(xié)議功能
點贊
收藏

51CTO技術(shù)棧公眾號