iT邦幫忙

鐵人檔案

2018 iT 邦幫忙鐵人賽
回列表
Modern Web

在Three.js探索CAD的奧秘 系列

CAD的英文全名是Computer Aided Design,中文名稱是『電腦輔助設計』,正如其名它是個能夠幫助我們透過電腦輔助進行數位化的設計。過去我們在工業設計、美術設計都學會了各種設計軟體的操作方法,但是否曾經想過這些軟體到底是怎麼做出來的呢? 如果你也擁有了這份好奇心,就讓我們一起透過Three.js這套JavaScript繪圖函數庫,逐步從簡單的二維的曲線曲面開始,一步步的走進三維網格曲面模型的世界,建立一套屬於自己的Web-based繪圖平台吧!

鐵人鍊成 | 共 30 篇文章 | 23 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11 : 三角網格拓樸關係

前言 三角網格拓樸(Topology),三角網格拓樸是一種可以用來快速進行搜尋的資料結構,透過預先的整理將網格與網格之間的關係找到並記錄起來,可以有效的提升演算...

2017-12-30 ‧ 由 QQBoxy 分享
DAY 12

Day 12 : Three.js建立三角網格拓樸

前言 topology.js函式庫,在Three.js建立三角網格拓樸關係可以使用topology.js來建立,但是目前作者 Lee Stemkoski 沒有繼...

2017-12-31 ‧ 由 QQBoxy 分享
DAY 13

Day 13 : 射線法結合拓樸使用

前言 學了這麼多方法,到底該怎麼用呢? 本次提供一個簡單的例子,點選完網格後除了在網格上畫上一個小球,還會再透過拓樸關係找到相鄰的邊,並在邊上畫上一個小球。 如...

2018-01-01 ‧ 由 QQBoxy 分享
DAY 14

Day 14 : 提升設計環境

前言 光源是編輯時重要的一部分,固定式的光源適合在固定場景中使用,而動態的光源適合在編輯設計時使用。而為了讓拓樸結構能夠跟著網格模型物件,我們修改之前的做法將物...

2018-01-02 ‧ 由 QQBoxy 分享
DAY 15

Day 15 : 即時高亮網格

前言 即時的高亮(Highlight)滑鼠經過的網格,可以幫助設計者清楚的理解2D轉換到3D場景中所選擇的面,提供更直覺的編輯環境在CAD軟體中也是相當重要的一...

2018-01-03 ‧ 由 QQBoxy 分享
DAY 16

Day 16 : 簡單網格變形

前言 網格變形是基本的網格操作,所有的網格操作都需要進行網格變形,它是透過改變網格點的vertex座標位置,來達成使用者預想的幾何形狀結果。 模組化編輯功能 首...

2018-01-04 ‧ 由 QQBoxy 分享
DAY 17

Day 17 : 修正面的法向量

前言 面的法向量,除了用來表示該面的正反面以外,也是用來表示面的確切方向的資訊,正確的法向量可以使光源正確的模擬出照射效果並合理的渲染出來。 尋找法向量 前回我...

2018-01-05 ‧ 由 QQBoxy 分享
DAY 18

Day 18 : 模型所見即得的設計

前言 所見即得的設計模型,是提供CAD設計者建立 操作手感 的一種方法,設計者可以透過所見即得的視覺感受,來決定要將模型調整到什麼樣的狀態。在技術上就是透過滑鼠...

2018-01-06 ‧ 由 QQBoxy 分享
DAY 19

Day 19 : 點選網格頂點

前言 網格頂點的選取,非常廣泛的應用在CAD軟體中,先前我們學到如何選取整個網格,今天則回過頭來學習怎麼選取網格的頂點。 其實很難點選 事實上滑鼠是很難準確的點...

2018-01-07 ‧ 由 QQBoxy 分享
DAY 20

Day 20 : 網格頂點的平均法向量

前言 網格頂點的平均法向量,是指一個網格頂點,找尋鄰近的三角網格面,將所有面的法向量進行相加,再取單位向量的結果。 八個面的平均法向量 使用點拓樸關係找鄰近的面...

2018-01-08 ‧ 由 QQBoxy 分享