本文整理汇总了C#中Vector.GetX方法的典型用法代码示例。如果您正苦于以下问题:C# Vector.GetX方法的具体用法?C# Vector.GetX怎么用?C# Vector.GetX使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vector
的用法示例。
在下文中一共展示了Vector.GetX方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Cross
/**
* Cross
*
* @param op1
* @param op2
* @return Vector
*/
public Vector Cross(Vector op1, Vector op2)
{
Set((op1.GetY() * op2.GetZ()) - (op1.GetZ() * op2.GetY()),
(op1.GetZ() * op2.GetX()) - (op1.GetX() * op2.GetZ()),
(op1.GetX() * op2.GetY()) - (op1.GetY() * op2.GetX()));
return (this);
}
示例2: Vector
/**
* Vector
*
* @param newvec
*/
public Vector(Vector newvec)
{
Set(newvec.GetX(), newvec.GetY(), newvec.GetZ());
}
示例3: Dot
/**
* Dot
*
* @param operand
* @return double
*/
public double Dot(Vector operand)
{
return (GetX() * operand.GetX() + GetY() * operand.GetY() + GetZ() * operand.GetZ());
}
示例4: Combine
/**
* Combine
*
* @param pt
* @param vector
* @param ptscale
* @param vecscale
* @return Point
*/
public Point Combine (Point pt, Vector vector, double ptscale, double vecscale)
{
x = ptscale * pt.GetX () + vecscale * vector.GetX ();
y = ptscale * pt.GetY () + vecscale * vector.GetY ();
z = ptscale * pt.GetZ () + vecscale * vector.GetZ ();
return (this);
}
示例5: Add
/**
* Add
*
* @param added
* @return Point
*/
public Point Add (Vector added)
{
x += added.GetX ();
y += added.GetY ();
z += added.GetZ ();
return (this);
}
示例6: RenderScene
/**
* RenderScene
*/
public void RenderScene(Canvas canvas, int width, int section, int nsections)
{
Vector view = camera.GetViewDir();
Vector up = camera.GetOrthoUp();
Vector plane = new Vector();
Vector horIncr = new Vector();
Vector vertIncr = new Vector();
double ylen = camera.GetFocalDist() * (double)Math.Tan(0.5f * camera.GetFOV());
double xlen = ylen * canvas.GetWidth() / canvas.GetHeight();
Point upleft = new Point();
Point upright = new Point();
Point lowleft = new Point();
Point basepoint = new Point();
Point current;
Ray eyeRay = new Ray();
int ypixel, xpixel;
RayID = 1;
plane.Cross(view, up);
view.Scale(camera.GetFocalDist());
up.Scale(ylen);
plane.Scale(-xlen);
upleft.FindCorner(view, up, plane, camera.GetPosition());
plane.Negate();
upright.FindCorner(view, up, plane, camera.GetPosition());
up.Negate();
plane.Negate();
lowleft.FindCorner(view, up, plane, camera.GetPosition());
horIncr.Sub(upright, upleft);
horIncr.Scale(horIncr.Length() / ((double)canvas.GetWidth()));
vertIncr.Sub(lowleft, upleft);
vertIncr.Scale(vertIncr.Length() / ((double)canvas.GetHeight()));
basepoint.Set(upleft.GetX() + 0.5f * (horIncr.GetX() + vertIncr.GetX()), upleft.GetY() + 0.5f * (horIncr.GetY() + vertIncr.GetY()),
upleft.GetZ() + 0.5f * (horIncr.GetZ() + vertIncr.GetZ()));
eyeRay.SetOrigin(camera.GetPosition());
int xstart = section * width / nsections;
int xend = xstart + width / nsections;
Console.WriteLine("+" + xstart + " to " + (xend - 1) + " by " + canvas.GetHeight());
for(ypixel = 0; ypixel < canvas.GetHeight(); ypixel++)
{
current = new Point(basepoint);
for(xpixel = 0; xpixel < canvas.GetWidth(); xpixel++)
{
if(xpixel >= xstart && xpixel < xend)
{
Color color = new Color(0.0f, 0.0f, 0.0f);
eyeRay.GetDirection().Sub(current, eyeRay.GetOrigin());
eyeRay.GetDirection().Normalize();
eyeRay.SetID(RayID);
this.RayID = this.RayID + 1;
Shade(octree, eyeRay, color, 1.0f, 0, 0);
canvas.Write(Brightness, xpixel, ypixel, color);
}
current.Add(horIncr);
}
basepoint.Add(vertIncr);
}
Console.WriteLine("-" + xstart + " to " + (xend - 1) + " by " + canvas.GetHeight());
}