當前位置:首頁 » 操作系統 » RER演算法

RER演算法

發布時間: 2022-05-17 22:55:50

A. 體重10斤狗狗一天吃多少狗糧

兩個月大的牧羊犬重6.5千克一次要吃多少狗糧?

B. 掃雷點到空格時的演算法 跪求

從手工點開的這個空格進行處理,按上右下左或你自己定義的一個順序來判斷相應位置的格式是否是空格且未被點開,如果不是,則跳過,如果是,則將其自動點開,同時把這幾個位置加入隊列後續處理。
簡單的流程圖示意:

當前位置是空白位置?----否--->非空白的處理
|
|是
|
V
加入隊列
|
V
+--->隊列為空?-------->是--->結束
||
||否
||
|V
|第一個元素出隊
||
|V
|點開該元素所指的位置
||
|V
|上左下右的位置如果是空白且未點開則入隊
||
--------+


上面是非遞歸的方案,遞歸方案則更容易了:
偽代碼演算法描述如下:
Click(pos)//點開pos這個位置
{
//IsClicked()判斷是否是已經點開的格子
if(IsClicked(pos))
return;

//IsBlank()判斷是否是空白格子
if(!IsBlank(pos))
{
點開非空白格子的處理
}

//下面是點開空白格子的處理
ClickBlank(pos);
}

ClickBlank(pos)
{
if(!IsBlank(pos))
rerurn;

if(IsClicked(pos))
return;

//下面對四個方向的格子進行自動點開
//你需要計算四向的格子位置,無效的直接返回

ClickBlank(pos上面的格子);
ClickBlank(pos右面的格子);
ClickBlank(pos下面的格子);
ClickBlank(pos左面的格子);
}

C. 使用C語言實現一個「位操作」演算法,要求簡潔、快速

#include<stdio.h>
intmain(void){
unsignedchara=0xAE,b=0xBB,c=0xD2,d=0xCC,t,i,k,e;
scanf("%c/%c/%c/%c",&a,&b,&c,&c);//掛起這一行可用題設數據測試
for(k=0x80,t=~(a&b),e=d,i=0;i<8;i++,k>>=1)
if((c&k)==0)
t&k?e|=k:e&=~k;
printf("e=%#02X ",e);
return0;
}

D. 這個求最大公約數的例子哪裡出錯了

int HCF(int min,int max){
int r,tmp;
if(min>max){
tmp=min;min=max;max=tmp;
}
r = max % min;
if(r!=0) return min;
else return HCF(r,min);
}
看了你的演算法,基本上似乎沒錯,但是不好閱讀!可以使用遞歸方法!

E. return什麼意思

第二十七,try {}里有一個return語句,那麼緊跟在這個try後的finally {}里的code會不會被執行,什麼時候被執行,在return前還是後?
會執行,在return前執行。

java程序員面試32問(建議至頂)

第一,談談final, finally, finalize的區別。
final?修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變數或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變數必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載
finally?再異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那麼相匹配的 catch 子句就會執行,然後控制就會進入 finally 塊(如果有的話)。
finalize?方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作。finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的。

第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?
匿名的內部類是沒有名字的內部類。不能extends(繼承) 其它類,但一個內部類可以作為一個介面,由另一個內部類實現。

第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。
Nested Class (一般是C++的說法),Inner Class (一般是JAVA的說法)。Java內部類與C++嵌套類最大的不同就在於是否有指向外部的引用上。具體可見http: //www.frontfree.net/articles/services/view.asp?id=704&page=1
註: 靜態內部類(Inner Class)意味著1創建一個static內部類的對象,不需要一個外部類對象,2不能從一個static內部類的一個對象訪問一個外部類對象

第四,&和&&的區別。
&是位運算符。&&是布爾邏輯運算符。

第五,HashMap和Hashtable的區別。
都屬於Map介面的類,實現了將惟一鍵映射到特定的值上。
HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。
Hashtable 類似於 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它是同步的。

第六,Collection 和 Collections的區別。
Collections是個java.util下的類,它包含有各種有關集合操作的靜態方法。
Collection是個java.util下的介面,它是各種集合結構的父介面。

第七,什麼時候用assert。
斷言是一個包含布爾表達式的語句,在執行這個語句時假定該表達式為 true。如果表達式計算為 false,那麼系統會報告一個 AssertionError。它用於調試目的:
assert(a > 0); // throws an AssertionError if a <= 0
斷言可以有兩種形式:
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 應該總是產生一個布爾值。
Expression2 可以是得出一個值的任意表達式。這個值用於生成顯示更多調試信息的 String 消息。
斷言在默認情況下是禁用的。要在編譯時啟用斷言,需要使用 source 1.4 標記:
javac -source 1.4 Test.java
要在運行時啟用斷言,可使用 -enableassertions 或者 -ea 標記。
要在運行時選擇禁用斷言,可使用 -da 或者 -disableassertions 標記。
要系統類中啟用斷言,可使用 -esa 或者 -dsa 標記。還可以在包的基礎上啟用或者禁用斷言。
可以在預計正常情況下不會到達的任何位置上放置斷言。斷言可以用於驗證傳遞給私有方法的參數。不過,斷言不應該用於驗證傳遞給公有方法的參數,因為不管是否啟用了斷言,公有方法都必須檢查其參數。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試後置條件。另外,斷言不應該以任何方式改變程序的狀態。

第八,GC是什麼? 為什麼要有GC? (基礎)。
GC是垃圾收集器。Java 程序員不用擔心內存管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可以調用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()

第九,String s = new String("xyz");創建了幾個String Object?
兩個對象,一個是「xyx」,一個是指向「xyx」的引用對象s。

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;

第十一,short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?
short s1 = 1; s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式轉化為short型。可修改為s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正確。

第十二,sleep() 和 wait() 有什麼區別? 搞線程的最愛
sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿後,線程不一定立即恢復執行。這是因為在那個時刻,其它線程可能正在運行而且沒有被調度為放棄執行,除非(a)「醒來」的線程具有更高的優先順序
(b)正在運行的線程因為其它原因而阻塞。
wait()是線程交互時,如果線程對一個同步對象x 發出一個wait()調用,該線程會暫停執行,被調對象進入等待狀態,直到被喚醒或等待時間到。

第十三,Java有沒有goto?
Goto?java中的保留字,現在沒有在java中使用。

第十四,數組有沒有length()這個方法? String有沒有length()這個方法?
數組沒有length()這個方法,有length的屬性。
String有有length()這個方法。

第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?
方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被「屏蔽」了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

第十六,Set里的元素是不能重復的,那麼用什麼方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?
Set里的元素是不能重復的,那麼用iterator()方法來區分重復與否。equals()是判讀兩個Set是否相等。
equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。

第十七,給我一個你最常見到的runtime exception。
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, , DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

第十八,error和exception有什麼區別?
error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況。
exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況。

第十九,List, Set, Map是否繼承自Collection介面?
List,Set是 Map不是

第二十,abstract class和interface有什麼區別?
聲明方法的存在而不去實現它的類被叫做抽象類(abstract class),它用於要創建一個體現某些基本行為的類,並為該類聲明方法,但不能在該類中實現該類的情況。不能創建abstract 類的實例。然而可以創建一個變數,其類型是一個抽象類,並讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。
介面(interface)是抽象類的變體。在介面中,所有方法都是抽象的。多繼承性可通過實現這樣的介面而獲得。介面中的所有方法都是抽象的,沒有一個有程序體。介面只可以定義static final成員變數。介面的實現與子類相似,除了該實現類不能從介面定義中繼承行為。當類實現特殊介面時,它定義(即將程序體給予)所有這種介面的方法。然後,它可以在實現了該介面的類的任何對象上調用介面的方法。由於有抽象類,它允許使用介面名作為引用變數的類型。通常的動態聯編將生效。引用可以轉換到介面類型或從介面類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了介面。

第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
都不能

第二十二,介面是否可繼承介面? 抽象類是否可實現(implements)介面? 抽象類是否可繼承實體類(concrete class)?
介面可以繼承介面。抽象類可以實現(implements)介面,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數。

第二十三,啟動一個線程是用run()還是start()?
啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處於可運行狀態,這意味著它可以由JVM調度並執行。這並不意味著線程就會立即運行。run()方法可以產生必須退出的標志來停止一個線程。

第二十四,構造器Constructor是否可被override?
構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。

第二十五,是否可以繼承String類?
String類是final類故不可以繼承。

第二十六,當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?
不能,一個對象的一個synchronized方法只能由一個線程訪問。

第二十七,try {}里有一個return語句,那麼緊跟在這個try後的finally {}里的code會不會被執行,什麼時候被執行,在return前還是後?
會執行,在return前執行。

第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
有C背景的程序員特別喜歡問這種問題。

2 << 3

第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
不對,有相同的hash code。

第三十,當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這里到底是值傳遞還是引用傳遞?
是值傳遞。Java 編程語言只由值傳遞參數。當一個對象實例作為一個參數被傳遞到方法中時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一個整數表達式。因此傳遞給 switch 和 case 語句的參數應該是 int、 short、 char 或者 byte。long,string 都不能作用於swtich。

第三十二,編程題: 寫一個Singleton出來。
Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。
一般Singleton模式通常有幾種種形式:
第一種形式: 定義一個類,它的構造函數為private的,它有一個static的private的該類變數,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調用其中的方法。
public class Singleton {
private Singleton(){}
//在自己內部定義自己一個實例,是不是很奇怪?
//注意這是private 只供內部調用
private static Singleton instance = new Singleton();
//這里提供了一個供外部訪問本class的靜態方法,可以直接訪問
public static Singleton getInstance() {
return instance;
}
}
第二種形式:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//這個方法比上面有所改進,不用每次都進行生成對象,只是第一次
//使用時生成實例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance; }
}
其他形式:
定義一個類,它的構造函數為 private的,所有方法為static的。
一般認為第一種形式要更加安全些
第三十三 Hashtable和HashMap
Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現
HashMap允許將null作為一個entry的key或者value,而Hashtable不允許
還有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在
多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap
就必須為之提供外同步。
Hashtable和HashMap採用的hash/rehash演算法都大概一樣,所以性能不會有很大的差異

F. 人民幣對外幣的匯率計算方法是什麼

人民幣實際匯率的計算公式如下:

RER = (NER * CPIf) / CPId

其中,RER是Real Exchange Rate的縮寫,表示實際匯率;

NER是NominalExchange Rate的縮寫,表示名義匯率;
CPIf和CPId分別代表國外和國內的消費者物價指數。
當本國一個標准商品籃子的價格上漲,意味著匯率水平下降,本幣在外國的購買力下降,本幣e值;當本國一個標准商品籃子價格下降時,意味著匯率水平上升,本幣在外國的購買力上升,本幣值。

G. 100py6等於多少人民幣

俄羅斯盧布(Рубль)是俄羅斯的本位貨幣單位,如您是指100Рубль,則100俄羅斯盧布=8.6173人民幣元。由於外匯匯率是實時變動的,此數據僅供參考,具體匯率以您交易時實際交割的成交價為准,貨幣換算更新時間:2021-04-02 15:03。
應答時間:2021-04-07,最新業務變化請以平安銀行官網公布為准。
[平安銀行我知道]想要知道更多?快來看「平安銀行我知道」吧~
https://b.pingan.com.cn/paim/iknow/index.html

H. 3D 燈光強度參數

3ds mas常用參數:
編輯網格修改器 Edit Mesh 修改器
一:主要用於編輯三維網格物體。 特點是佔用資源少,適用於游戲、效果圖的製作
二:Edit Mesh的結構
1 Vertex 點層級
2 Edge:物體邊層級
3 Face:三角面層級
4 Polygon: 多邊形、四邊形面層級
5 Elemnet: 元素層級、就是所有連續的表明
Editmesh常用命令
三:MeshSmooth網格光滑修改器
我們在建模過程中,經常會把Edit Mesh和MeshSmooth 一起適用,繪制沙發、靠墊等光滑物體。
MeshSmooth修改器的相關參數
Iterations: 光滑等級,(1~5)
Weight:權重值,可以再具體條件物體的光滑效果、例如是讓物體更加光滑或者是更加的尖銳。
Crease:硬度數值: 可以讓我們決定物體的那些邊參與光滑操作。 數值為1的時候、被選擇上的邊就沒有光滑效果。
二維物體(Shapes)
1:Line的畫法。
a。點擊可以畫出直線
b。拖動滑鼠可以繪制出曲線
C:按退格按鈕可以重畫上一個節點
d:按Shift按鈕可以畫出正交線
e:按住鍵盤I按鈕時,可以進行視圖的延伸
f:按「〔」和「 〕」按鈕可以對視圖進行縮放
2:線的結構(次物體):
Vertex:節點層級
Segment:線段層級,線段就是兩點間的連線
Spline:樣條線層級,代表整條連續的線
3:點的類型:
conner:拐角點
Smooth:光滑點、是自動進行斜率計算
Bezier:貝茲曲線,可以手動條件曲線的斜率。
Bezier conner 貝茲拐角。
4。線的可渲染性
Renderalbe,二維物體的渲染開關
Thickness:線的厚度
Sides:線的截面精度
Diplay Render Mesh:打開後能觀察到線的實際大小
5:畫線時的常用工具
Refine 加點命令
Fillet:倒圓角
Chamfer:倒斜角工具
Outline:復制樣條線工具(在Spline層級)
Attach:激活命令,把外部的二維物體結合進來。
Boolean:步爾運算(之前必須把相關的線條Attach激活進來)
1:先選擇一條樣條線,
2:確定運算關系(相加、相減和交集)
3:按Boolaen按鈕,然後再拾取目標曲線
Trim:減切工具,可以對相交的曲線進行修剪
Weld(點層級工具):可以對一定距離內的點進行焊接
6:插入視圖背景(Alt+B)
match bimap 視圖匹配,可以保持圖片的比例不變
Lock Zoom/Pan 可以確保縮放視圖時圖片可以一同縮放
DisPlay Backgound:顯示背景開關
7:導入外部文件(Import)
8:單位修改:Customize用戶菜單中選擇Units Setup
System Unit系統單位。
Display Unit Scale顯示單位
Bevel 倒角修改器
功能:進行3次拉伸,每次拉伸可以對物體進行縮放。以此給物體製作倒角
主要參數: Height:拉伸的高度。
Outline:縮放效果
Linear sides: 斜面倒角
Curved sides: 圓倒角
Segments:精度。參數越高,物體越光滑
Smooth Across Levels:對每層的拉伸的交界處進行光滑
Keep lines From Crossning:打開時可以糾正倒角的錯誤
Bevel Profile : 輪廓倒角修改器
功能: 可以自由的編輯物體的倒角面
主要參數:Pick Profile: 拾取輪廓邊(輪廓邊必須為二維物體)
注意:輪廓邊可以是封閉的或開放的二維物體。當我們來到Profile Gizmo層級時可以對倒角的范圍框進行各種的移動、旋轉和縮放修改。
Loft 放樣操作:
放樣操作好比一種高級的拉伸:放樣必須具備路徑(Path)和截面(shape)缺一不可,路徑只能有唯一的一條;而截面可以有無數條。
放樣的基本操作:
1:繪制出路徑和截面
2:選擇截面圖形,在復合建模中(Compoud Object)打開Loft操作 再選擇
Get Path按鈕,來拾取路徑
或者是:選擇路徑圖形,在復合建模中(Compoud Object)打開Loft操作 再選擇Get Shape按鈕,來拾取截面
3:多截面放樣:
方法 a:先按標准方法進行放樣
b:在參數欄中改變Path的數值,也就是改變截取截面的位置。再拾取新的截面。
4: 放樣的修改:
A:對放樣的截面(Shape)和路徑(Path)進行修改放樣主要分為Shape和Path層級在Shape層級中,我們可以選擇上截面,對其進行各種的變換操作。甚至是刪除。而Path層級中修改的是路徑的各種參數,例如路徑的長度,斜率等等
B:對放樣物體的變形操作:Scale:縮放操作。其操作和編輯二維物體很想像。可以任意的加點編輯操作。
5:放樣的重要參數:
Cap Start:對頂端封蓋
Cap End: 對底端封蓋
Shape Step:截面精度,越高截面越光滑
Path Step:路徑精度
Linear Interpolation:線性差補、取消路徑的光滑效果
Transform Degrade:顯示降級操作,取消該功能可以讓放樣的修改更為直觀
三維建模(Geometry)
一。標准幾何體(Standard Primitives)
Box:立方體
Cone:圓錐
Sphere:球體
Geospohere:地理球
Cylinder:圓柱體
Tube:水管物體
Torus:圓環
Pyramid:五面體
Teapot:茶壺
Plane:平面
相關的常用參數:
Length 長
Width寬
High:高
Radius圓柱或者是圓錐的半徑
Sides邊數、決定模型截面的精度。
Smooth平滑,讓模型以平滑狀態顯示
Segments段數,組成物體的細分程度,這個參數在實際中非常重要斷數約多的物體越光滑
Fillet倒角參數
二。常用擴展體
1)Headra(多面體)分為8、16、32面體另外附帶兩種星形(可以製作流星錘)
2)Chamfer Box(倒角立方體)基本和box的參數一樣,但是還可以給box製作倒角效果,是一個非常常用的工具。如下圖所示的沙發於桌子都是由chamferbox拼湊而成
三。 Boolean三維物體的步爾運算
1.概念:爾運算是首先由19世紀英國科學家Boolean(步爾)使用的一種對象合成邏輯計算方式,這種邏輯運算方 式可以使對象之間進行Union(並集)、Intersect(交集)、和Subs traction(差集)計算後合成在一起。
2.進行布爾運算時的要求
(1)要求參與運算的物體必須具有絕對完整的表面、沒有洞、重疊面或未被合並的節點。
(2)保持法線方向的一致,不要輕易翻轉物體表面的法線,否則會產生不可預知的結果
(3)要求物體表面元素沒有重疊現象,也就是說在物體的表面或內部沒有因使用次物體級中的編輯,修改命令而留下 多餘或線段
(4)如果操作物體沒有相交,布爾運算什麼也不會做最好是在表面復雜程度相近的模型之間進行布爾操作,如果一個物體很復雜(由很多點線面組成),而另一個物體很簡單)如一個沒有進行任何段設置的盒子),對它們進行布爾運算,運算結果將會花費很長時間
3.布爾運算的相關參數:
【.布爾運算的相關參數】
Pick Boolean(拾取布爾物體「B」):布爾運算必須同時具備A物體與B物體。
Copy(復制):布爾運算後不破壞原來的物體
Move(移除):布爾運算後原物體被刪除。
Instance(關聯):布爾運算後,布爾運算物體與原來物體成關聯關系
Reference(參考):布爾運算後,布爾運算物體與原來物體成參考關關系
Operands(運算物體):列出所有的運算物體,供編輯操作時選擇使用
Extract Operand(提取運算物體):它可以將當前指定的運算物體重新提取到場景中,作為一個新的物體
Display/Update】
Result:只顯示最後結果
Operands:顯示出所有的運算物體
Results + Hidden Ops:顯示隱藏物體和最後結果。
注意:步爾運算只有對單個對象計算時才是可靠的,在對下一個對象進行計算之前先要退出步爾運算的窗口然後再對該對象進行步爾運算的操作。
材質編輯
一。材質的指定:
1:直接拖動法
2:按「Assign Material to Selection」工具
二。材質的保存
1,選擇好材質以後,按「Put to library」按鈕
2:進入材質庫,按save保存當前材質
三:材質的基本參數:
Diffuse:漫反射顏色,物體的主要色彩。
Ambient:環境色,物體受到外部環境影響時所發出的色彩,一般情況下沒有任何效果。
Specular:高光色,物體全反射的色彩
Specular Level: 高光強度。 一般金屬,陶瓷等比較堅硬和光滑的物體有比較的高光。
而牆體、布料、陶土等材質的高光就比較弱、甚至是沒有高光。
Glossiness:反光面積、也就是高光點的大小。
Soften:高光的柔和度。不是很常用的一個參數。
Self-Illumination:自發光參數。讓物體產生熒光的效果。但是一般情況下不
可以進行照明。
Opacticy:不透明度、100為完全不透明,0為完全透明。製作玻璃等透明物體可以
把參數調為(10~30)
四:主要的Shader(明暗生成器)
Blinn 布林材質: 最常用的shader之一,可以製作陶瓷、陶土、布料、玻璃、塑料等效果
Metal:金屬, 製作金屬專用的sahder
Anisotropic: 各相異性材質, 可以通過Anisotropy和Orientation兩個產生,使高光
變窄和改變角度、可以產生梭型的高光
Multi-Layer:多重高光,和Anisotropic非常類似,可以產生兩層的高光。產生更凌亂
的高光效果
Translucent Shader,半透明效果。可以用於蠟燭、珠寶等材質的製作。
程序貼圖說明:
Gradient 漸變 (通過三個色塊決定漸變的顏色也可在相應的通道中實現貼圖的漸變,Gradient type :line 線性Radial輻射方式 Nosie 噪波效果,可以模擬火焰。Amount 噪波強度 size噪波尺寸)
Output 一般做反光板
材質類型
一.Multi/Sub-object 多維子材質
可以讓材質擁有多個子材質組成
相關參數:
Set Number 設定材質的數量
Add 增加一個子材質
Delete刪除當前選擇的材質
另外除了材質本身以外我們還需要對物體進行材質ID號的指定。
二。Double Sided 雙面型材質
功能:給同一個表面的正反方向分別賦予材質。
主要參數:
Translucency:透明屬性,讓物體表面有半透明的效果
Facing Material 正面材質。
Back Material:背面材質。
三:Raytrace 光線追蹤材質類型
功能:製作半透明材質、金屬和玻璃材質,
特點是光線追蹤速度快。
和標准材質不同的地方:
Transparency:透明度,黑色表示不透明。白色則剛好相反。
物體變為透明後就自動帶有折射效果。
Reflect: 反射,黑色代表沒有任何反射效果。
Advanced Transparency(高級透明)
Color染色、End決定色彩的濃密程度、
Fog:讓透明物體有一種霧狀透明的效果。
燈光
Target/Free Spot:目標/自由聚光燈
Target/Free Direct: 目標/自由平行光
Omni:泛光燈
Skylight:天光
一般參數(General )
1)on:燈光開關
2)Type:燈光類型
3)Targeted:勾選時燈光有目標點。
4)Shadows On:陰影開關(可以通過右鍵菜單快速選擇)
5)Use Global Setting:使用全局設置
6)Exclude:排除,允許物體不受到燈光的照射影響
Intensity/Color/Attenuation燈光的強度、色彩、以及照明的距離:
Multiplier(倍增器):對燈光的照射強度控制,標准為1,如果設置為2 則光強增加一倍,如果為負數,將會產生吸光效果。
燈光衰減(Attenuation )
(1) Near Attenuation近距衰減:由於它的衰減方式違反了自然的定律,因此我們在效果圖的製作中不會經常用到此衰減
(2) Far Attenuation 遠距衰減,我們可以通過調整Start和End兩個數值來控制燈光的衰減范圍
(3) Decay(真實的衰減計算)
Inverse反向,會產生劇烈的衰減
Inverse Squire反向平方:是按照真實的燈光衰減方式進行衰減計算的,衰減最為強烈卻最真實。Start可以控制燈光從何處開始衰減
Spotlight/Parameters 聚光燈/平行光
Show Cone:在燈光為非選擇的狀態下仍顯示燈光的照明範圍
Overshoot:照亮全局,遠距范圍外的場景也會被照亮
Hotspot:(聚光區)在這個區域內有聚光燈的最強照明度
從這個區域外開始,燈照強度逐漸衰減。
Falloff(衰減區)在此區以外的對象將不會受到光照。
注意:一般Hotspot和Falloff參數差值越大,光斑邊緣越模糊。
2.shadows Params 陰影參數
color:可以改變陰影的顏色。
Dens:調節陰影的濃度
Map:為陰影指定貼圖。
Light Affects Shadows Color:陰影色顯示為燈光色與陰影固有色的混合效果 。
Atmosphere shadows On:設置大氣是否對陰影產生影響。
(例如做燃燒火焰的時,需要打開此按鈕)
Opacity(不透明度)
Color Amount:調節大氣顏色與陰影顏色混合程度的百分比
Bias:對陰影效果進行偏移
Size:降低此值會使陰影更加模糊,數值越高陰影越清晰
Sample Range:采樣數值,此值越高陰影的品質就越高,但渲染越慢
Advanced Effects 高級效果
Contrast:調節物體高光區與過渡區之間的表面對比度,值為0時是正常效果,對有些特殊效果如空間中刺目的反光,需要增大對比度。
Soften Diff.Edge(柔化過渡邊界)柔化過渡區陰影表面之間的邊緣,避免產生清晰明暗分界。
Diffuse:勾選時,燈光可以產生漫反射。
Specula:勾選時,燈光可以產生高光效果。
Ambient Only:勾選時,燈光僅以環境照明的方式影響物體表面顏色,近似給模型表面均勻的塗色。通過此參數,可以靈活地為物體指定不同的環境光照明影響
Projector(投影圖像):打開此項,可以通過其下的Map(貼圖)按鈕選擇一張圖像作為投影圖
貼圖通道和程序貼圖
貼圖的內部參數:
View Image: 貼圖的剪切按鈕
Filtering:貼圖的過濾方式,採用Summed Area方式可以最大程度上對圖片進行優化
Blur:貼圖的模糊參數
Blur Offest 模糊偏移、產生更大的貼圖模糊效果。
常用的貼圖通道:
一。Diffuse Color:紋理通道(過渡色通道),用於表現物體紋理的通道、屬於色彩通道。
二。Bump:凹凸通道:屬於強度通道,圖片被放入此通道後,可以用來控制物體的凹凸效果,黑色可以讓物體產生凹陷效果;白色可以讓物體有隆起樣子。常用的雜點程序貼圖: 雜點程序貼圖一般由幾種色彩構成。可以用於紋理通道和凹凸通道。可以表現各種紋理的效果。
1.Noise 噪波程序貼圖:
主要參數: size:尺寸,控制色塊的大小
High和low可以控制兩種色彩的分布
Levels:用於控制貼圖的精度。
Noise type:噪波種類
Regular規則噪波
Fractal分型噪波,更加凌亂的效果
Turbulence端
流噪波
2.Cellular:細胞貼圖
主要參數: Iterations 圖片的精度、細節度
Spread:延伸,可以控制色彩的分布
Roughness:圖片的粗糙程度。
3.Dent: 凹陷貼圖。 用於表現強烈凹凸的貼圖,
主要參數:
Strength:凹陷的強度,實際是調節黑白兩色的對比度
Iterations:貼圖的精度、和細節度。
4。Smoke 煙霧貼圖
相關參數: Exponnent,可以控制兩種色彩的分布。
size:煙霧的大小
三:Reflection(反射通道)
常用的相關貼圖
1:Raytrace光線追蹤貼圖。產生真實的反射、反射周圍的物
主要參數:
Enable Raytracing:光線追蹤的開關
Enable Atmospherics:對大氣環境,例如霧效進行反射
Enable Self Reflect\Refract 對自己產生反射和折射
BackGround 背景設置
Use Enironment Settings:只反射周圍環境
None:通道,可以這里添加貼圖,給物體增加一個虛擬的反射環境
Attenuation反射的衰減
Falloff Type:衰減類型
off 關閉衰減
Linear:以勻速進行衰減
Inverse Square 反向平房,比較真實的衰減方式,但衰減的速度非常快
Exponential:對數方式衰減衰減時可以調節End數值控制衰減的程度。
另外可以在rendering菜單的rendersetting裡面調節反射效果(真反射)。 調節反射反彈次數(Maximum Depth)打開反射抗鋸齒(Global Ray Antialiaser)
2。Flat Mirror 平面鏡
假反射的一種 ,特點是速度快。
相關參數:Blur 對反射進行模糊
Use Bump map對凹凸效果也進行反射
四:Reraction折射通道
通常用於製作玻璃和水等透明物體。可以添加上Raytrace光線追蹤貼圖就可以參數折射效果。
另外一般可以配合Extended Parameters裡面的Filter(過濾)、
Subtracteve(減淡)、和Additive(加亮)參數進行調節。
Index of Refraction(折射率)
Index of Refraction:折射率
真空:1.0
空氣:1.0003
水:1.333
玻璃:1.5到1.7
鑽石:2.419
五:Opacity不透明通道
用於控制物體的透明、屬於強度通道。也就是說只能通過圖片的灰度來控制物體的透明效果。黑色……全透明。純白……不透明效果。
Path Constraint路徑約束控制器
相關參數
Add Path:用於獲取運動路徑的工具。
Follow:讓攝像機產生跟隨效果,攝像機在運動中角度隨路徑改變而改變
Along Path沿路徑的百分比
Constant Velocity 可以讓物體產生勻速的運動
Bank:攝像機在運動是可以產生傾斜
Bank Amount:傾斜的幅度
Smoothness:拐彎時角度變化的速度
Allow Upside當對象沿垂直路徑運動時,可以頭部向下顛倒,如同游樂園中的過山車的運動。
Constant Velocity:勻速運動
Loop:循環
Relative(相對)被約束對象會保持在原先的位置,與路徑曲線保持一個相對偏移距離進行路徑約束運動
Axis:軸向,可以調整攝像機的朝向。
Flip:反轉攝像機的方向
光能傳遞
光能傳遞的製作流程
1: 設置好燈光,一般採用光度學燈光。選取合適的光域網文件
2:打開光能傳遞: 快捷鍵:9, 尋找選擇光能傳遞(Radiosity)
光能傳遞的主要參數:
Start:開始光能傳遞計算,一般對場景物體有所改動以後,都要重新計算一 次。在測試過程中,只要計算精度達到1以上就可以了。
stop:停止計算
Reset All 重新開始計算
Reset: 只對燈光物體進行重新計算
Intial Quality:對物體的細分質量。越高效果越好。
Refine Iterations(All Objects) 提高所有物體的細分等級。越高效果 越好。
註:如果我們在最終使用Regather(光線再聚集)演算法,以上的兩個參數的大小就無關中要了。
Filtering: 過濾,可以適當的消除黑斑
Setup: 可以從這里進而Environment(環境)面版。 進入後,我們通常都要打開曝光控制。方法在Exposure Control中選擇Logarithmic Exposure Control
然後再可以調節圖片的Brightness(亮度)、Contrast對比度等等。一般場景都要打開Affect Indirect Only選項,這樣圖片會更加清晰。如果場景有日光可以使用Exterior Daylight選項。
3:在調節好燈光和曝光效果後可以進行最終的輸出。
在Rendering Parameters中打開Regather Indirect(再聚集)64~180
Rays Per Sample :采樣值,參數越高,效果越好
打開Adaptive Sampling,可以提高選渲染速度
4、計算反射反彈:1-prefercnce setting
2-advanced lighting/material editor
物體不受
陰影:在物體屬性不勾選receive shadows
開陽光,勾選environment /exposure control/logarithmic exposure control-----勾選exterior daylight.
一。光能傳遞~再聚集演算法
再聚集的相關參數:
Regather InDirect Illumination:再聚集的開關
通常我先要對物體進行細分、細分度大於一就可以了。
Rays Per Sample:光線采樣數量、越大效果越好、時間越長
Filter Radius:(過濾半徑)、可以減少黑斑,但也會增加渲染時間
Clamp Values:用於防止亮斑、控制整個場景的總體亮度。
Adaptive Sampling 適配采樣技術、可以提高我們的渲染效率,但會相應降低渲染效果。打開次功能後,可能需要適當再增加渲染質量
Initial Sample Spacing:對場景中相對「簡單、平坦」的地方進行低精度的采樣
Subdivide Down to 對精度、和細節比較豐富的地方采樣相對較高的采樣精度。
Show Samples:顯示紅色的采樣點,讓我們可以了解場景中的采樣分布。
二。圖像的優化措施
1。在曝光控制中提高圖片的對比度
2.在渲染控制中選擇相對優秀的Mitchell_Netravali過濾方式,進行抗鋸齒
3.在Photoshop中使用各種工具或慮鏡對圖像進行銳化處理,可以提高圖片的清晰度。
簡表面的修改器
一。MultiRes 多重優化修改器
作用:在減少表面數量的同時可以有效的保護物體外形。
缺點在於優化後的max文件會比較龐大
相關參數:
Generate:計算按鈕。優化之前必須先進行計算。
Ver Percent: 點的數量比例。 可以調節物體的段數
二。Optimize 優化修改器
作用也是精簡表面,雖然精簡的效果不如MultiRes。但是不會導致文件變得過大
主要參數就是Face Thresh;參數越大精簡得越厲害
視圖加速方法
1:在每個視圖按D按鈕,取消4個視圖同時刷新。
2: 隱藏暫時不調節的物體,充分利用快捷鍵、獨立工具(Alt+Q等)
3:添加各種優化修改器減少表面數量,或者適當的刪除物體的歷史記錄
(就是所謂的塌陷)。
4:不必把材質中的圖片全部顯示在視圖中。使用Views中的Deactivate all map
命令,取消顯示貼圖。
5:使用OpenGL顯卡方式進行加速。
6:按O(歐)鍵,可以打開顯示降級操作,當我們旋轉視圖時就會自動降低顯示質 量,加快顯示速度。
3dsmax效果圖輸出設置:
圖片的大小(150解析度):
A5,210×148mm: 1240×875
A4,297×210mm: 1750×1240
A3,420×297mm: 2480×1750
A2:594×420mm: 3500×2480
A1:894×594mm: 4960×3500
A0:1189×841mm:7000×4960
輸出的過濾方式:Mitchelj-Netavali
文件輸出格式:Jpg格式-有損壓縮、圖像文件小但效果不高
TGA和Tif格式無壓縮、圖像質量高、文件相對較大。
輸出應打開選項:shadow陰影 mappin 貼圖 auto reflet/refrace 自動折射
anti-aliusin filter 選mitchell-netravali

熱點內容
電腦怎麼查卡配置 發布:2025-01-14 20:01:29 瀏覽:26
手機怎麼控制伺服器 發布:2025-01-14 19:58:46 瀏覽:306
php難招 發布:2025-01-14 19:06:07 瀏覽:489
sublime編譯php 發布:2025-01-14 18:57:16 瀏覽:307
雲計算伺服器是什麼 發布:2025-01-14 18:56:22 瀏覽:44
vip域名查詢ftp 發布:2025-01-14 18:46:48 瀏覽:116
格式化linux 發布:2025-01-14 18:35:14 瀏覽:595
如何進入安卓原生市場 發布:2025-01-14 18:22:06 瀏覽:560
台式電腦找不到伺服器 發布:2025-01-14 18:19:58 瀏覽:423
androidsdk網盤 發布:2025-01-14 18:17:43 瀏覽:82