|
|

楼主 |
发表于 2007-4-3 21:54:00
|
显示全部楼层
Re:[求助]你们觉得我水平怎么样,应该找个什么样的公司,
嗯,谢谢filx.
在家待了两个多月了,压力大,没时间写demo了,我都是先辞职再找工作的,我甚至把这比喻成就像先跟前女友分手后才能开始下一段感情一样。我要的工资也不多,只想找个正规的,职能健全点的公司就行,现在我先可着有点名气的公司,至少心里有点底,要是去招聘网搜索确实能搜出一大片,描述的都挺好的,可谁知道实际是个啥情况呢。没经验,不会DX,我也考虑到了,是个大问题,也许就得靠运气了
至于使用了哪些开源库,我投简历的时候都注释得很清楚。使用开源库也是为了避免陷入一些琐碎的细节中去,像声音播放(audiere),图像解码(devil,ijl),资源打包(7z,stormlib)等等还是直接用吧.至于“xxx是我写的”这句话怎么理解,我的想法是,我没有把别人写的东西都揽在自己身上,我同样也不否定我自己对代码的贡献,我说“xxx是我写的”,并不是强调什么,我从来都没有怀疑这句话会有什么问题,我也不知道除了这句话还有什么话可以表达类似的意思,我觉得我这么说问心无愧。同时我也能明白filx的意思,就是既然是求职作品,就应该尽可能的多些自己写的东西,嗯,这点我会注意的,谢谢:)
下面这段只是我的一段借题发挥胡乱YY,看看就行了:)
////////////////////////////////////////////////////////////////////////////////////
我从别处copy一份代码,我当然不能说这是我写的,那如果我把变量重命名一下,改变一下花括号的位置,数组改成向量,char*改成string,就是说由c风格改成c++风格,那我能说这是自己写的吗,如果不能,那我把代码修改到什么程度才能说是我自己写的呢,或者不管怎么修改都不能,因为我本质上用了别人的算法,那好,我也不用别人的算法,算法也自己写,但是有些算法是唯一的,比如向量点积叉积,人家就是那么定义的,换个算法就不对了,那怎么办,这个问题涉及到任何有唯一定义的东西...,下面这个函数,是WC3ModelBrowser使用的数学库里的,是用来替换D3DXMatrixTransformation这个函数的,其算法完全参考DirectX文档中对D3DXMatrixTransformation的说明,我不知道我可以不可以说这个函数是我写的...,另外软件界有句名言,就是“不要造轮子”,看到这里是不是很多人都想跟我说这句话:)。中国文化确实博大精深,正反两个方面都能找出佐证的俗语来,以前看过这方面的文章,记得不多了,比如“成大事者当不拘小节”和“一屋不扫何以扫天下”什么的...,又想起易中天老师在央视作节目,他说,对于别人对他的评论是回复也不是不回复也不是,回复呢,说你度量小,还教授呢,群众这么点意见就受不了了,不回复呢,说你理亏,看,不说话了,终于没理了吧,这样左右为难。我的想法是,难道一个人想全世界60亿人都对你说好吗,不可能,也没有内个必要,我觉得,只要周围几个至亲,几个同学,几个朋友,他们能够说你好就行了,当然这里的“好”就是能够理解你的意思,至于其他人的评论,如果是诚心诚意的就要虚心接受,如果是无理取闹的就不必理会,对于听到的不同声音,让你矛盾让你心烦的时候就想想这句话,“难道你想全世界60亿人都对你说好吗”...
// 构造变换矩阵
// like D3DXMatrixTransformation but order reverse for opengl:
// This function calculates the transformation matrix with the following formula, with matrix concatenation evaluated in left-to-right order:
// Mout = (Msc)-1 * (Msr)-1 * Ms * Msr * Msc * (Mrc)-1 * Mr * Mrc * Mt
// where:
// Mout = output matrix (pOut)
// Msc = scaling center matrix (pScalingCenter)
// Msr = scaling rotation matrix (pScalingRotation)
// Ms = scaling matrix (pScaling)
// Mrc = center of rotation matrix (pRotationCenter)
// Mr = rotation matrix (pRotation)
// Mt = translation matrix (pTranslation)
template<typename T>
inline CMatrix4D_T<T>& MatrixTransformation(
CMatrix4D_T<T> *pOut,
const CVector3D_T<T> *pScalingCenter,
const CVector4D_T<T> *pScalingRotation,
const CVector3D_T<T> *pScaling,
const CVector3D_T<T> *pRotationCenter,
const CVector4D_T<T> *pRotation,
const CVector3D_T<T> *pTranslation)
{
CMatrix4D_T<T> Msc,Msr,Ms,Mrc,Mr,Mt,iMsc,iMsr,iMrc;
pOut->SetIdentity();
Msc.SetIdentity();
Msr.SetIdentity();
Ms.SetIdentity();
Mrc.SetIdentity();
Mr.SetIdentity();
Mt.SetIdentity();
iMsc.SetIdentity();
iMsr.SetIdentity();
iMrc.SetIdentity();
if (pScalingCenter != 0)
{
Msc.Compose(pScalingCenter, 0, 0);
(iMsc = Msc).Invert();
}
if (pScalingRotation != 0)
{
Msr.Compose(0, pScalingRotation, 0);
(iMsr = Msr).Invert();
}
if (pScaling != 0)
{
Ms.Compose(0, 0, pScaling);
}
if (pRotationCenter != 0)
{
Mrc.Compose(pRotationCenter, 0, 0);
(iMrc = Mrc).Invert();
}
if (pRotation != 0)
{
Mr.Compose(0, pRotation, 0);
}
if (pTranslation != 0)
{
Mt.Compose(pTranslation, 0, 0);
}
return (*pOut = (Mt * Mrc * Mr * iMrc * Msc * Msr * Ms * iMsr * iMsc));
}
//////////////////////////////////////////////////////////////////////////////////// |
|