国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 9340|回復: 16

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

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

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

D# Y9 N9 `3 X+ O; x9 \

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

2 ]7 r7 B/ Y) d, ~. L9 k: X/ `

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

* n# A6 P b1 B* w g3 T! a

 

本帖子中包含更多資源

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

×
回復

使用道具 舉報

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

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

因為是練習很簡易的,齒根部過渡曲線,齒頂倒角之類都沒有做,當初只是重視了漸開線部分
9 k) J7 r# K1 T這里漸開線是從基圓開始的。初學者不要被我的圖給誤導了。
3#
發表于 2006-8-3 20:39:51 | 只看該作者

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

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

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

是用vb做的
5 O5 j+ `2 T6 ?2 _  C( C3 F  {不過長遠來看,以后應該用c++做
5#
發表于 2006-8-5 08:53:38 | 只看該作者

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

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

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

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

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

厲害!佩服!% ^3 ^& B; @& A& a3 c$ x
這對我來說就好像是另一個領域的事情,你也有所研究。
" w0 q: |/ m' i- S
3 E  ]; G! C# U0 P( }& C5 R! Q有辦法在AutoCAD中實現嗎?比如變步長。: x3 C1 l5 `" Z
我知道的是計算機一般缺省的精度是16位有效數字。是不是任意曲線可以達到這個精度,而在顯示時和圓有同樣的速度?
8#
 樓主| 發表于 2006-8-11 17:08:32 | 只看該作者

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

AutoCAD里工具-選項里有一個設置顯示精度的地方,如果設得低的話,顯示圓時也是不光滑的。0 i  A- L7 `0 I/ r, G8 ]3 a' k
如果這個值設置的足夠高,那么曲線(如漸開線)是否光滑取決于我們用多少點描述它以及畫線
" K. n9 g# c0 ], B$ X/ M, O) _的方法。最簡單的畫線方法是用直線連接這些點,當取得點數多的時候可以很光滑,可是在放大
# x0 E; g7 P& M& P8 U; ^5 K* N的時候就很容易變形。在CAD里還有一個畫線方法是用曲線連接這些點,CAD應該有這個命令的。  k0 l" K" x9 d: k# j
精度可以得到改善,但點與點之間的曲線仍然是系統自動生成的,和原始的精確方程還是會有一定
' `. {8 t4 N( h  Z差距。2 F- [$ N+ B0 ^9 l4 @
還有我聽說在proe里直接輸入方程式而不指定精度就能自動生成曲線,而且放大之后看起來也
# ~" O. Z6 k+ n" X: Y很光滑,不知道是不是使用了變步長的思想。
3 f" i2 e8 F7 |7 d. h' G% M& V/ I! X" M6 }5 ^3 ]
我總結了變步長的思想要點是
/ V: E1 r/ a1 g$ B9 R5 K$ S$ j1用方程來描述對象(如果原始數據是離散的點則先擬合方程)
6 b- j# O, k% F, g0 L5 k( Q2決定點的個數n
1 ]" n. Z$ N- [6 `6 @/ R7 T* J3根據顯示區域算出需要顯示區域的定義域,然后由方程生成n個點
, Y+ U, n2 g- k7 Z% T+ k4用直線或曲線連接這n個點( `7 X* |) L, _2 D
5顯示區域變化的話重復3: J+ \9 `' y6 F( M7 p
這樣顯示區域的精度永遠是n個點,在需要精確仿真時也可以根據需要隨時更改n的值
- c6 m* K( e0 O1 w* @或者把原始定義域分成一個個大小為n的塊分別計算(數組大小可以不變,函數重復利用)# U5 C* {7 B! d" u' _& y1 @; |
7 K" w" c0 o/ K' J
傳統方法主要是一開始就固定了原始定義域是n個點。我對autocad里實現變步長還沒思路。
- N2 b6 @- L, W7 Z我想變步長的方法主要是應用在自己編寫的軟件中比較容易實現。
9#
發表于 2006-12-21 22:21:50 | 只看該作者

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

呵呵,不錯,比我研究精神高。* b; r7 a* R1 X" L( I; n
如果要在齒面上實現光滑連接,最好使用NURBS曲面實現,既簡單,計算量又小,而且精度高。" n( g; F7 d7 A/ ?9 T, e; \/ G
如果使用VC程序實現,也許我可以幫一點忙。
& T$ c% g4 h7 ?但是,樓主朝這個方向努力了,很是佩服。
10#
發表于 2006-12-22 11:37:27 | 只看該作者

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

這是用在哪方面的?
" T( Y% u9 }9 C5 `
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

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

GMT+8, 2025-9-11 09:22 , Processed in 0.071691 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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