久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 9244|回復: 16

以前做的三維齒輪簡易模型

[復制鏈接]
1#
發表于 2006-8-2 23:57:23 | 只看該作者 |倒序瀏覽 |閱讀模式

這是我一年以前做的一個三維齒輪簡易模型練習,當初的目的是要做一個包括齒輪的加工和使用的三維仿真系統。

2 c7 w: z+ {+ m- b m+ {& T. G

但是發現一些基礎的東西還沒有準備好就沒有做下去。現在開始希望能在一年之內做好呀。

6 U1 K* x1 m+ [5 V8 X2 C% M; l1 |9 ?

光標鍵可以變換視角,q和w改變齒輪大小,a和s改變轉速,空格鍵在點,線,面之間變換

! Y9 [- S) u' f) ` V

 

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?注冊會員

×
回復

使用道具 舉報

2#
 樓主| 發表于 2006-8-3 00:09:31 | 只看該作者

Re: 以前做的三維齒輪簡易模型

因為是練習很簡易的,齒根部過渡曲線,齒頂倒角之類都沒有做,當初只是重視了漸開線部分( A% ?* e8 E9 U4 f# O1 ^9 L+ g
這里漸開線是從基圓開始的。初學者不要被我的圖給誤導了。
3#
發表于 2006-8-3 20:39:51 | 只看該作者

Re: 以前做的三維齒輪簡易模型

作得漂亮,用VB做的?,真是高手
4#
 樓主| 發表于 2006-8-4 19:58:07 | 只看該作者

Re: 以前做的三維齒輪簡易模型

是用vb做的
# s" d# l$ j3 y不過長遠來看,以后應該用c++做
5#
發表于 2006-8-5 08:53:38 | 只看該作者

Re: 以前做的三維齒輪簡易模型

我一直在想:各種曲線能不能做到象圓和橢圓一樣,不是逐點描出來的,而是光滑的。最主要要能減少數據量。
6#
 樓主| 發表于 2006-8-5 10:00:47 | 只看該作者

Re: 以前做的三維齒輪簡易模型

計算機即使有畫圓或橢圓的命令,最終繪制時還是用點畫的,如果取得點比較少就能看出來不光滑4 F* p# ~4 X( V0 t: n# v, b
如果取得點多,雖然看起來光滑些,但是會影響顯示速度。雖然在使用畫圓命令時沒有生成很多數據,但在畫圓函數內部,畫一個光滑的圓并不會比畫一般曲線占用的資源少。
# b: s1 Z4 S- K. ~0 W: f6 n) T2 P1 n' r9 }& k
數據取的少時出現不光滑我想到兩個解決辦法:3 o; A+ Q! @& D4 I
一個就是變步長的思想,根據用戶的屏幕和分辨率自動算出一個肉眼分辨不出來的精度,當用戶改變所顯示物體的大小時重新計算這個精度,這樣不論用戶把圖形放大多少倍都不會有問題了,這里的前提是你需要知道曲線的方程才能做到變步長,如果一開始就是知道很多點的坐標的話應該先擬和曲線方程。
$ V& u; {4 d! g; R2 G% `# |另一個辦法就是抗鋸齒。因為屏幕的顯示實際就是很多象素點,比如橫1024縱768,這樣在顯示非45度斜線時是肯定會有變形的,抗鋸齒是通過對線附近的區域進行顏色的調整,使人眼感覺光滑。
7#
發表于 2006-8-10 21:16:47 | 只看該作者

Re: 以前做的三維齒輪簡易模型

厲害!佩服!
( G0 p; W8 L# T0 T2 i+ y, _0 u" P這對我來說就好像是另一個領域的事情,你也有所研究。
( ], V# w9 b7 Q( e3 ~3 F' l. i
4 }- }1 b, ]2 u' z1 m0 ]有辦法在AutoCAD中實現嗎?比如變步長。
$ A% n+ J7 O+ D我知道的是計算機一般缺省的精度是16位有效數字。是不是任意曲線可以達到這個精度,而在顯示時和圓有同樣的速度?
8#
 樓主| 發表于 2006-8-11 17:08:32 | 只看該作者

Re: 以前做的三維齒輪簡易模型

AutoCAD里工具-選項里有一個設置顯示精度的地方,如果設得低的話,顯示圓時也是不光滑的。( O" z7 T2 k5 L8 \2 a
如果這個值設置的足夠高,那么曲線(如漸開線)是否光滑取決于我們用多少點描述它以及畫線( E# }( r4 ~/ Z6 g2 x% t( A4 G* g( @
的方法。最簡單的畫線方法是用直線連接這些點,當取得點數多的時候可以很光滑,可是在放大  s, ~$ o& d5 P8 _# b$ N
的時候就很容易變形。在CAD里還有一個畫線方法是用曲線連接這些點,CAD應該有這個命令的。
+ f- |- o" C# r7 u) i  s1 n精度可以得到改善,但點與點之間的曲線仍然是系統自動生成的,和原始的精確方程還是會有一定
# S9 a( g: Z7 f1 T5 c1 c$ |差距。( `+ C4 ?( W' j
還有我聽說在proe里直接輸入方程式而不指定精度就能自動生成曲線,而且放大之后看起來也# a+ `3 V( k1 g8 b/ |6 n  \7 u
很光滑,不知道是不是使用了變步長的思想。
/ @4 ^* g* H9 q4 F5 Q. {$ J5 Z3 F# Y: o
我總結了變步長的思想要點是0 ^3 I# e9 ?& v
1用方程來描述對象(如果原始數據是離散的點則先擬合方程)
, ~$ H  Q$ H4 M8 ?5 I: E2決定點的個數n
+ ]- s6 ]. ^; k9 O6 b4 f3根據顯示區域算出需要顯示區域的定義域,然后由方程生成n個點
, m% n; v* \" d  Q6 ^" z4用直線或曲線連接這n個點: N/ A& B. _" _) R' g  H& a7 I
5顯示區域變化的話重復3
! y5 y4 w3 x0 t& F, j) L9 ?7 b1 s! ]/ N5 V$ V這樣顯示區域的精度永遠是n個點,在需要精確仿真時也可以根據需要隨時更改n的值: B- k) o5 s; M
或者把原始定義域分成一個個大小為n的塊分別計算(數組大小可以不變,函數重復利用)
1 j: o% [- m" @0 @5 Z$ u. x8 f" z
傳統方法主要是一開始就固定了原始定義域是n個點。我對autocad里實現變步長還沒思路。+ k4 q. g8 O* k  a
我想變步長的方法主要是應用在自己編寫的軟件中比較容易實現。
9#
發表于 2006-12-21 22:21:50 | 只看該作者

Re: 以前做的三維齒輪簡易模型

呵呵,不錯,比我研究精神高。
. Y; [4 U( M, Y9 C, [3 t5 e& U如果要在齒面上實現光滑連接,最好使用NURBS曲面實現,既簡單,計算量又小,而且精度高。
1 ^: E0 Q7 k0 Y& H! F6 o6 B- E/ M如果使用VC程序實現,也許我可以幫一點忙。2 V* a4 e! n2 E. F
但是,樓主朝這個方向努力了,很是佩服。
10#
發表于 2006-12-22 11:37:27 | 只看該作者

Re: 以前做的三維齒輪簡易模型

這是用在哪方面的?  N) s/ v- P1 w( j- o( |
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-7-21 05:46 , Processed in 0.066168 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表