Just My Life & My Work

第二學期當助教

難得學伴(女生)這麼晚還留在研究室,
她不去吃晚餐是為了減肥省錢
這想法跟我一樣呢:P
新聞說台灣今年三月為四十年來的低溫
台北的天氣「依然」又冷又濕,
這學期的目標是每天去運動(跑步打桌球),
卻因為陰雨的天氣而妥協……

話說跟學伴聊了最近,
這學期的她相當忙碌,
除了要上課之外,
還要當「三個」助教,
是哪三個呢?

繼續閱讀文章 »

[C++] 光線追蹤 (Ray Tracing)

關於【Ray Tracing】是一門很值得研究的學問,
在實做過程我遇到幾個瓶頸:
遞迴、折射、反射、鏡射光、散射光等,
尤其是【遞迴】如果沒有清楚的腦袋,
很難將後四者給兜起來。
首先我們來看一條「主光線」如何遞迴:

繼續閱讀文章 »

從上學期就看到此Phong Reflection Model的公式,
但也只知道表面而無法完全理解其內涵,
短短的一行等式中隱含著一個光的世界,
這時候我就把焦點放在【鏡射光(Specular)】上頭。

繼續閱讀文章 »

線與球、平面的交點

RaySpherePlane的交點,
我參考WIKI的Line-sphere intersectionLine-plane intersection
這【交點】相當重要,
因為是反射與折射時重要的參考點。

繼續閱讀文章 »

這次作業最大的難度就在於【反射】與【折射】的【遞迴】實做,
若沒有搞清楚折射和反射的公式,
必然無法做到想要的效果!
以下是我看了「Reflections and Refractions in Raytracing」論文所得到的結論:

繼續閱讀文章 »

3D的時候不好看出結果,
這次使用2D sample點和test點來實做。

繼續閱讀文章 »

還記得第一次在冬天的宜蘭,
這次是我大學同學重考完研究所的第一約,
我們五人一起到三重的E7club打保齡球,
讓我意想不到的是那兒什麼你想玩的東西都有!
諸如:桌球機、籃球機、撞球室、保齡球間、
電視遊樂區、網咖、漫畫、夾娃娃機等等,
而且居然還有吃的喝的XD~
看了一下網路上的介紹,
它說全年365天24小時營業耶!
有空的話當然可以去「紓解」身心,
五小時會員價200元還可以接受。

繼續閱讀文章 »

這次直接使用原始資料來實做,
一共有3個class,
每個class有10個sample,
而sample為3維(x1,x2,x3),
test point有4個。

繼續閱讀文章 »

今天跟女性友人去健康中心量【體脂肪】,
發現我的體脂肪高達30.6%耶!
這代表什麼呢……?
代表著我全身有三成都是脂肪。

脂肪率:脂肪與體重的百分比。
體脂肪率判定基準(標 準)
男 性
18歲~30歲    14~20﹪
30歲~69歲    17~23﹪
女 性
18歲~30歲    17~24﹪
30歲~69歲    20~27﹪

由上表得知,
我的體脂肪率明顯超標阿!
居然還比女生高耶!

繼續閱讀文章 »

之前以為指標有限制【深度】,
在看過了「指標的藝術」這本書後,
馬上來測試指標深度的極限,
我驗證到10層都還可以編譯,
相信若compiler沒有限制的話,
是可以到【無限】深度的!
不過倒是沒看過有人會寫超過2顆*的程式,
人類的理解程度最多可到3維也就是3顆*,
【空間概念】厲害的人就可以玩弄星星於鼓掌之中XD~
有興趣的人可以玩一玩喔~

/**
	Theme: Art of Pointer
	Date: 100/01/25
	compiler: Dev C++ 4.9.9.2
	Author: ShengWen
	Blog: https://cg2010studio.wordpress.com/
*/
#include<iostream>
using namespace std;

int main(){
	int number=99;
	int *onePointer;
	int **twoPointer;
	int ***threePointer;
	int ****fourPointer;
	int *****fivePointer;
	int ******sixPointer;
	int *******sevenPointer;
	int ********eightPointer;
	int *********ninePointer;
	int **********tenPointer;

	onePointer=&number;
	twoPointer=&onePointer;
	threePointer=&twoPointer;
	fourPointer=&threePointer;
	fivePointer=&fourPointer;
	sixPointer=&fivePointer;
	sevenPointer=&sixPointer;
	eightPointer=&sevenPointer;
	ninePointer=&eightPointer;
	tenPointer=&ninePointer;

	cout<<&tenPointer<<endl;
	cout<<tenPointer<<endl;
	cout<<*tenPointer<<endl;
	cout<<**tenPointer<<endl;
	cout<<***tenPointer<<endl;
	cout<<****tenPointer<<endl;
	cout<<*****tenPointer<<endl;
	cout<<******tenPointer<<endl;
	cout<<*******tenPointer<<endl;
	cout<<********tenPointer<<endl;
	cout<<*********tenPointer<<endl;
	cout<<**********tenPointer<<endl;
	system("pause");
	return EXIT_SUCCESS;
}

輸出結果:

0x23ff4c
0x23ff50
0x23ff54
0x23ff58
0x23ff5c
0x23ff60
0x23ff64
0x23ff68
0x23ff6c
0x23ff70
0x23ff74
99
請按任意鍵繼續 . . .

標籤雲