国产freexxxx性播放,囯产精品久久久久久久久久妞妞,а√最新版在线天堂鲁大师,丰满少妇被粗大猛烈进人高清 ,аⅴ资源天堂资源库在线

×
熱門分類
微信掃碼登陸

QQ登錄

只需一步,快速開始

馬上注冊,結(jié)交更多好友,享用更多功能,讓你輕松玩轉(zhuǎn)社區(qū)。

您需要 登錄 才可以下載或查看,沒有帳號?立即加入SketchUp吧! 微信掃碼登陸

x
轉(zhuǎn)自:http://blog.csdn.net/article/details/38611081

在Sketchup中,move工具使用的非常廣泛,


                               
登錄/注冊后可看大圖
,可以移動、拉伸和復(fù)制幾何體,也可以用來旋轉(zhuǎn)組件。舉一個(gè)簡單地例子。

我們要做一個(gè)建筑物的尖頂,如下圖所示,就是使用move工具實(shí)現(xiàn)的。


                               
登錄/注冊后可看大圖
            

                               
登錄/注冊后可看大圖

    接下來我們就要學(xué)習(xí)如何使用ruby實(shí)現(xiàn)這樣的功能。

    實(shí)體類(Entities)提供了transform_entities方法來實(shí)現(xiàn)move的功能,transform_entities需要兩個(gè)參數(shù),一個(gè)或一系列實(shí)體對象和一個(gè)變換對象(Transformation)。

    例如,上圖中屋頂中間的線我們叫做roof_line,下面的代碼實(shí)現(xiàn)把這條線沿著Z軸網(wǎng)上移動5個(gè)單位(英寸)。


[ruby] view plaincopy


  • ents = Sketchup.active_model.entities  
  • tr = Geom::Transformation.translation [0, 0, 5]  
  • ents.transform_entities tr, roof_line  

    在第二行,前綴“Geom::”是必須的,這是因?yàn)門ransformation類包含于Geom模型,這在接下來的章節(jié)中會介紹它是如何使用的。在這個(gè)例子中,tr是一個(gè)transformation對象,用于把roof_line從一個(gè)位置移動到另一個(gè)位置。

    transformation可以實(shí)現(xiàn)平移、旋轉(zhuǎn)縮放

    1、平移

    在講平移之前,我們要先了解一個(gè)概念,平移向量。我們在高中學(xué)習(xí)過,從一個(gè)點(diǎn)移動到另一個(gè)點(diǎn),如從點(diǎn)(1,2,3)移動到點(diǎn)(3,4,5),只需要知道起點(diǎn)和移動向量就能到達(dá)終點(diǎn),這個(gè)移動向量是用終點(diǎn)坐標(biāo)減去起點(diǎn)坐標(biāo),即向量(2,2,2)。這里的平移向量類似于移動向量。

    SketchUp API提供了三種方法來實(shí)現(xiàn)平移動能。


  •     調(diào)用Geom::Transformation.new
  •     調(diào)用Geom::Transformation.translation
  •     使用平移向量本身。

    下面用一個(gè)例子演示如何使用這三種方法,這個(gè)例子是將一個(gè)面移動三次,首先沿著X軸正向移動4個(gè)單位,然后Y軸正向6個(gè)單位,最后沿X軸負(fù)向移動3個(gè)單位。


[ruby] view plaincopy


  • # 創(chuàng)建一個(gè)正方形面  
  • ents = Sketchup.active_model.entities  
  • tran_face = ents.add_face [-1, -1, 0],  
  • [-1, 1, 0], [1, 1, 0], [1, -1, 0]  
  • # T沿著X軸正向移動4個(gè)單位  
  • t = Geom::Transformation.new [4, 0, 0]  
  • ents.transform_entities t, tran_face  
  • # Y軸正向6個(gè)單位  
  • t = Geom::Transformation.new [0, 6, 0]  
  • ents.transform_entities t, tran_face  
  • # X軸負(fù)向移動3個(gè)單位  
  • ents.transform_entities [-3, 0, 0], tran_face  


    移動路徑如下圖所示。

   


                               
登錄/注冊后可看大圖

   2、旋轉(zhuǎn)

    去旋轉(zhuǎn)一個(gè)圖形,我們需要三個(gè)參數(shù)。


  • 旋轉(zhuǎn)起源點(diǎn)(點(diǎn))
  • 旋轉(zhuǎn)軸(向量)
  • 旋轉(zhuǎn)角度(浮點(diǎn)型)

看下圖更有助于理解。


                               
登錄/注冊后可看大圖

    系統(tǒng)提供兩種方法用Transformation對象實(shí)現(xiàn)旋轉(zhuǎn)功能


  • 調(diào)用Geom::Transformation.new 和起源點(diǎn)、旋轉(zhuǎn)軸和角度參數(shù)
  • 調(diào)用Geom::Transformation.rotation和起源點(diǎn)、旋轉(zhuǎn)軸和角度參數(shù)

    例如,要實(shí)現(xiàn)上圖把圓圍繞(0,0,0)和Z軸旋轉(zhuǎn)30度,代碼寫為:

        tr = Geom::Transformation.new [0, 0, 0], [0, 0, 1], 30.degrees
        tr = Geom::Transformation.rotation [0, 0, 0], [0, 0, 1], 30.degrees

另外需要注意的是如果旋轉(zhuǎn)角度是正值,則按‘逆時(shí)鐘方向’旋轉(zhuǎn),如果是負(fù)值,就按順時(shí)針方向旋轉(zhuǎn)。


    3、縮放
    在Sketchup中,縮放工具


                               
登錄/注冊后可看大圖
可以改變圖形的大小形狀和改變圖形的位置。在用代碼實(shí)現(xiàn)時(shí),我們創(chuàng)建的縮放Transformation對象即會縮放圖形的大小也會縮放相對于默認(rèn)點(diǎn)(0,0,0)的距離,例如下面的代碼縮小了圖形的大小,也減小了到(0,0,0)的距離。


[ruby] view plaincopy


  • #創(chuàng)建一個(gè)正方形  
  • ents = Sketchup.active_model.entities  
  •   
  • tran_face = ents.add_face [-1, -1, 0],  
  • [-1, 1, 0], [1, 1, 0], [1, -1, 0]  
  • #沿X軸正向移動4個(gè)單位  
  • t = Geom::Transformation.new [4, 0, 0]  
  •   
  • ents.transform_entities t, tran_face  
  • #把正方形縮放為原來的一半,即改變形狀也改變距原點(diǎn)的長度  
  • t = Geom::Transformation.new 0.5  
  •   
  • ents.transform_entities t, tran_face  


    效果如下圖所示


                               
登錄/注冊后可看大圖

    實(shí)現(xiàn)縮放功能還可以用如下代碼,效果跟上面的一樣。


[ruby] view plaincopy


  • ents = Sketchup.active_model.entities  
  • t = Geom::Transformation.scaling 0.5  
  • ents.transform_entities t, shape  

    除此之外,我們還可以改變默認(rèn)縮放的源點(diǎn),即上面的(0,0,0)。例如,下面的代碼實(shí)現(xiàn)把圖形放大2倍并把源點(diǎn)變?yōu)椋?,5,5),相信在以后的應(yīng)用中,這種寫法會比較常見。

[ruby] view plaincopy


  • t = Geom::Transformation.scaling [5, 5, 5], 2  


    上面介紹了改變源點(diǎn)進(jìn)行縮放,下面我們介紹一下如何基于坐標(biāo)軸進(jìn)行縮放。

    為實(shí)現(xiàn)基于坐標(biāo)軸縮放,需要調(diào)用Transformation.scaling結(jié)合三個(gè)參數(shù),即X,Y,Z所縮放值,例如,下面代碼實(shí)現(xiàn)減小X軸的一半,擴(kuò)大Y軸的3倍,保持Z軸不變。


[ruby] view plaincopy


  • t = Geom::Transformation.scaling 0.5, 3, 1  


示意圖為


                               
登錄/注冊后可看大圖

scaling最后一種用法是結(jié)合以上三種,即,改變源點(diǎn)和x,y,z的縮放值,例如,設(shè)置源點(diǎn)為(5,5,5),相對于源點(diǎn),實(shí)現(xiàn)減小X軸的一半,擴(kuò)大Y軸的3倍,保持Z軸不變代碼如下。

t = Geom::Transformation.scaling [5, 5, 5], 0.5, 3, 1

總結(jié):

在本節(jié)中我們實(shí)現(xiàn)了平移、旋轉(zhuǎn)和縮放功能,下一節(jié)中我將簡單介紹將三種方法結(jié)合使用。


贊賞

1

查看全部評分

SUAPP AI

精彩評論

文明上網(wǎng)理性發(fā)言、請文明用語

4

主題

2468

帖子

15

紅寶石

SU游學(xué)(等級2)

Rank: 2

紅寶石
15

忠實(shí)粉絲社區(qū)微博達(dá)人積極討論獎

2#
dai025dai 2014-8-21 00:29:08
只能云里霧里給贊一個(gè)    太高端了些~~
高級模式
您需要登錄后才可以回帖 登錄 | 立即加入SketchUp吧! 微信掃碼登陸

本版積分規(guī)則

夢回天闕

SU入學(xué)(等級1)

  • 主題

  • 吧幣

  • 紅寶石

關(guān)閉

站長推薦上一條 /1 下一條

發(fā)布主題 快速回復(fù) 返回列表 客服中心 搜索 官方QQ群