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

機(jī)械社區(qū)

標(biāo)題: 以前做的三維齒輪簡易模型 [打印本頁]

作者: logxing    時(shí)間: 2006-8-2 23:57
標(biāo)題: 以前做的三維齒輪簡易模型

這是我一年以前做的一個(gè)三維齒輪簡易模型練習(xí),當(dāng)初的目的是要做一個(gè)包括齒輪的加工和使用的三維仿真系統(tǒng)。

; X. S1 H( n4 j: G* B' v

但是發(fā)現(xiàn)一些基礎(chǔ)的東西還沒有準(zhǔn)備好就沒有做下去?,F(xiàn)在開始希望能在一年之內(nèi)做好呀。

. W1 ?' Z5 j, P+ z p

光標(biāo)鍵可以變換視角,q和w改變齒輪大小,a和s改變轉(zhuǎn)速,空格鍵在點(diǎn),線,面之間變換

$ A( ]/ s9 l3 V# R; D

 


作者: logxing    時(shí)間: 2006-8-3 00:09
標(biāo)題: Re: 以前做的三維齒輪簡易模型
因?yàn)槭蔷毩?xí)很簡易的,齒根部過渡曲線,齒頂?shù)菇侵惗紱]有做,當(dāng)初只是重視了漸開線部分' k# ~6 f# y2 i6 @
這里漸開線是從基圓開始的。初學(xué)者不要被我的圖給誤導(dǎo)了。
作者: Ljdqe    時(shí)間: 2006-8-3 20:39
標(biāo)題: Re: 以前做的三維齒輪簡易模型
作得漂亮,用VB做的?,真是高手
作者: logxing    時(shí)間: 2006-8-4 19:58
標(biāo)題: Re: 以前做的三維齒輪簡易模型
是用vb做的& V% S5 a8 q, y9 f# j" }8 y
不過長遠(yuǎn)來看,以后應(yīng)該用c++做
作者: 阿松    時(shí)間: 2006-8-5 08:53
標(biāo)題: Re: 以前做的三維齒輪簡易模型
我一直在想:各種曲線能不能做到象圓和橢圓一樣,不是逐點(diǎn)描出來的,而是光滑的。最主要要能減少數(shù)據(jù)量。
作者: logxing    時(shí)間: 2006-8-5 10:00
標(biāo)題: Re: 以前做的三維齒輪簡易模型
計(jì)算機(jī)即使有畫圓或橢圓的命令,最終繪制時(shí)還是用點(diǎn)畫的,如果取得點(diǎn)比較少就能看出來不光滑/ W  w1 X6 u* ?: k* @
如果取得點(diǎn)多,雖然看起來光滑些,但是會(huì)影響顯示速度。雖然在使用畫圓命令時(shí)沒有生成很多數(shù)據(jù),但在畫圓函數(shù)內(nèi)部,畫一個(gè)光滑的圓并不會(huì)比畫一般曲線占用的資源少。
+ W6 w& e1 I$ k1 O" w
' w; O2 l+ P# E# b, ]數(shù)據(jù)取的少時(shí)出現(xiàn)不光滑我想到兩個(gè)解決辦法:
2 x- ~9 h" N4 B一個(gè)就是變步長的思想,根據(jù)用戶的屏幕和分辨率自動(dòng)算出一個(gè)肉眼分辨不出來的精度,當(dāng)用戶改變所顯示物體的大小時(shí)重新計(jì)算這個(gè)精度,這樣不論用戶把圖形放大多少倍都不會(huì)有問題了,這里的前提是你需要知道曲線的方程才能做到變步長,如果一開始就是知道很多點(diǎn)的坐標(biāo)的話應(yīng)該先擬和曲線方程。7 A& ?* {, J, u5 ?/ T
另一個(gè)辦法就是抗鋸齒。因?yàn)槠聊坏娘@示實(shí)際就是很多象素點(diǎn),比如橫1024縱768,這樣在顯示非45度斜線時(shí)是肯定會(huì)有變形的,抗鋸齒是通過對線附近的區(qū)域進(jìn)行顏色的調(diào)整,使人眼感覺光滑。
作者: 阿松    時(shí)間: 2006-8-10 21:16
標(biāo)題: Re: 以前做的三維齒輪簡易模型
厲害!佩服!) O: Z0 t3 E+ g( K# j  p& n: c
這對我來說就好像是另一個(gè)領(lǐng)域的事情,你也有所研究。
" u7 X6 n6 |0 d; i/ D7 Y2 F; ^3 t* |" x1 X" m
有辦法在AutoCAD中實(shí)現(xiàn)嗎?比如變步長。' w* M( x, z$ \2 j2 ^! i; h& X+ Z( y5 U6 e% ~
我知道的是計(jì)算機(jī)一般缺省的精度是16位有效數(shù)字。是不是任意曲線可以達(dá)到這個(gè)精度,而在顯示時(shí)和圓有同樣的速度?
作者: logxing    時(shí)間: 2006-8-11 17:08
標(biāo)題: Re: 以前做的三維齒輪簡易模型
AutoCAD里工具-選項(xiàng)里有一個(gè)設(shè)置顯示精度的地方,如果設(shè)得低的話,顯示圓時(shí)也是不光滑的。
( l# U/ n6 G$ z4 ]  r如果這個(gè)值設(shè)置的足夠高,那么曲線(如漸開線)是否光滑取決于我們用多少點(diǎn)描述它以及畫線
/ T5 p) h& W& ~4 R的方法。最簡單的畫線方法是用直線連接這些點(diǎn),當(dāng)取得點(diǎn)數(shù)多的時(shí)候可以很光滑,可是在放大# Y, w$ T3 u& U& k6 {
的時(shí)候就很容易變形。在CAD里還有一個(gè)畫線方法是用曲線連接這些點(diǎn),CAD應(yīng)該有這個(gè)命令的。
% \) f* J2 o" n精度可以得到改善,但點(diǎn)與點(diǎn)之間的曲線仍然是系統(tǒng)自動(dòng)生成的,和原始的精確方程還是會(huì)有一定
/ A1 A0 y/ i: x; T差距。- x7 I5 g, {1 S0 t7 b" r! G) D
還有我聽說在proe里直接輸入方程式而不指定精度就能自動(dòng)生成曲線,而且放大之后看起來也
* X8 d1 A8 z" c0 s' t+ f很光滑,不知道是不是使用了變步長的思想。
+ C) G; W$ C- U! C+ ?* `- e; F2 c& Y2 C& s) C8 {  h
我總結(jié)了變步長的思想要點(diǎn)是, M- B) S" J. ?- a9 a3 Q& p$ C
1用方程來描述對象(如果原始數(shù)據(jù)是離散的點(diǎn)則先擬合方程)
* J5 ~) R# L6 P$ D1 H2決定點(diǎn)的個(gè)數(shù)n
- j/ X# E: v9 R' C& G3根據(jù)顯示區(qū)域算出需要顯示區(qū)域的定義域,然后由方程生成n個(gè)點(diǎn)1 x# M% e+ E% d( H$ o: m) ^2 ]
4用直線或曲線連接這n個(gè)點(diǎn)
5 G& H' y8 I! [9 j& e5顯示區(qū)域變化的話重復(fù)3% T7 a2 a" s0 F" d: M" W- E( _
這樣顯示區(qū)域的精度永遠(yuǎn)是n個(gè)點(diǎn),在需要精確仿真時(shí)也可以根據(jù)需要隨時(shí)更改n的值
" ]) F8 K5 G" B  F或者把原始定義域分成一個(gè)個(gè)大小為n的塊分別計(jì)算(數(shù)組大小可以不變,函數(shù)重復(fù)利用)
, l' |1 }& A  H5 a, r
' ~% [% _5 [; A$ o, B7 c傳統(tǒng)方法主要是一開始就固定了原始定義域是n個(gè)點(diǎn)。我對autocad里實(shí)現(xiàn)變步長還沒思路。7 w7 W9 w: t  A  s6 h: e: ^6 }
我想變步長的方法主要是應(yīng)用在自己編寫的軟件中比較容易實(shí)現(xiàn)。
作者: gear_making    時(shí)間: 2006-12-21 22:21
標(biāo)題: Re: 以前做的三維齒輪簡易模型
呵呵,不錯(cuò),比我研究精神高。
- y5 W( c( E4 O, a/ x* \如果要在齒面上實(shí)現(xiàn)光滑連接,最好使用NURBS曲面實(shí)現(xiàn),既簡單,計(jì)算量又小,而且精度高。
0 O# Z# Q! [1 t4 b7 s9 f  j4 k如果使用VC程序?qū)崿F(xiàn),也許我可以幫一點(diǎn)忙。: G8 r3 f( c) |4 [) Y" L# {
但是,樓主朝這個(gè)方向努力了,很是佩服。
作者: lizhongfa    時(shí)間: 2006-12-22 11:37
標(biāo)題: Re: 以前做的三維齒輪簡易模型
這是用在哪方面的?3 C; [: @9 j" ?( ^1 Y

作者: kevinyang    時(shí)間: 2006-12-22 11:42
標(biāo)題: Re: 以前做的三維齒輪簡易模型
能建成實(shí)體模型就更漂亮了??梢钥紤]Open GL.
作者: zy_gear    時(shí)間: 2006-12-24 14:52
標(biāo)題: Re: 以前做的三維齒輪簡易模型
齒根部過渡曲線一般做什么曲線,我翻看了一本機(jī)械設(shè)計(jì)手冊,可上面說的很麻煩,分成好幾種,大家一般做什么曲線,至于齒頂?shù)菇?一般倒個(gè)0.38倍模數(shù)就可以了,一般的機(jī)械設(shè)計(jì)手冊也都是為0.38*m.呵呵!
作者: zy_gear    時(shí)間: 2006-12-24 14:56
標(biāo)題: Re: 以前做的三維齒輪簡易模型
糾正一下,0.38*m為齒根倒角,不好意思.
作者: yonk    時(shí)間: 2006-12-27 14:27
標(biāo)題: Re: 以前做的三維齒輪簡易模型
是編程高手,希望你能出售機(jī)械軟件來提升機(jī)械制造和設(shè)計(jì)的水平
作者: 笑天716    時(shí)間: 2008-6-2 16:10
標(biāo)題: 回復(fù) 5# 阿松 的帖子
在用了適當(dāng)?shù)?維軟件后這就不是問題了,用樣條曲線可以很光滑地把一段函數(shù)表達(dá)的曲線表示在屏幕上當(dāng)然也可以造出齒輪,傘齒輪等各種復(fù)雜函數(shù)表達(dá)的曲線、曲面,連維齒輪上的球面漸開線也可以清楚地表達(dá)出來的。
作者: logxing    時(shí)間: 2008-6-3 14:01
現(xiàn)在看來,顯示并不是最重要的問題。重要的問題是數(shù)學(xué)模型,就是曲面方程,運(yùn)動(dòng)方程,交線,交點(diǎn),包絡(luò)線方程,包絡(luò)面方程的計(jì)算。有了這些東西,就可以算出任何想知道的東西。而顯示只是把計(jì)算結(jié)果表現(xiàn)出來的一種形式。
作者: honghuzhonggong    時(shí)間: 2008-6-13 23:09
樓主做的真好   我不知道這是用什么軟件做的    VB是什么軟件啊   
. y# C4 X, o& A; S7 G7 ^. W我知道PRO/E可以做




歡迎光臨 機(jī)械社區(qū) (http://www.ytsybjq.com/) Powered by Discuz! X3.5