microstation 中的橢圓旋轉引數說明

2021-09-01 16:23:55 字數 575 閱讀 6265

(以下所有的旋轉均以原點為中心,同時橢圓的中心位於原點)

在microstation中 橢圓的兩半軸是使用主軸和附軸表示的。先繪製的半軸為主軸,後繪製的半軸為附軸。二次開發獲取半軸的api為

ellipseelement.primaryradius(主軸長度),pellipse.secondaryradius(附軸長度)。

在microstation中 所有元素的旋轉都是通過乙個matrix3d型別資料描述的。橢圓物件也不例外。

matrix3d的資料結構如下

public struct matrix3d

rowx為原(1,0,0)在旋轉後座標系的3d座標;rowy為原(0,1,0)在旋轉後座標系的3d座標;rowz為原(0,0,1)在旋轉後座標系的3d座標。

橢圓的旋轉值引數通過 如下api獲取

matrix3d rotation = pellipse.get_rotation();

第一軸正方向 手動繪製橢圓時需要 設定 中心點 第一軸端點 第二軸端點。從中心點到第一軸端點的方向即為第一軸正方向。

Python中的descriptor中的一點疑問

在我的印象中,類中的函式是可以有兩種呼叫方式的,如下 class b def func self return 10 b b b.func b.func b 於是,在之前研究descriptor的時候,我就有了幾點困惑 我將 更換成了如下兩個版本 版本1 import time class lazy...

python中的dict Python中的dict

dict python內建了字典 dict的支援,dict全稱dictionary,在其他語言中也稱為map,使用鍵 值 key value 儲存,具有極快的查詢速度。d print dict get michael d michael add a element d adam 67 print d...

zset中的score Redis中的事務

watch 監控某個或幾個key的變化 multi 接下來的命令不會立馬執行,會先放入乙個事務的佇列中 exec 執行事務佇列中的命令 unwatch 可以在watch執行之後 multi命令執行之前執行,效果是解除對某個key的監控 discard 可以在multi命令執行之後exec命令執行之前...