Home Overview FAQ Documentation Download Mailing List Geomview For Windows? Support Users Development Bug Reporting Contributing Contact Us Sponsors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Closed REQ 5152]: Geomview questions
You could create a curve in Geomview using a VECT object, as in: VECT 1 50 0 # one polyline, total of 50 vertices, no colors 50 # 50 vertices in first polyline 0 # 0 colors in first polyline x1 y1 z1 x2 y2 z2 .. x50 y50 z50 # all the vertex positions [In a separate note you asked about Bezier curves; we haven't implemented any, only Bezier surfaces.] We don't have a way to specify a plane given a point and normal vector; you need to compute vertex coordinates, or a transformation from a standard plane, or etc. This isn't too hard to do, though. Suppose the plane's (unit) normal vector is n. You want to construct a set of basis vectors in which n becomes, say, the Z axis. Pick some vector, say u = [1 0 0], and choose its component orthogonal to n: u perp n = u  n * (u dot n) If this is zero, then pick a different u; otherwise, scale it to a unit vector and call it the new basis' X axis. Construct the Y axis from the vector cross product v = n cross u. Now, you can write an OOGL file: { INST transform { ux uy uz 0 vx vy vz 0 nx ny nz 0 px py pz 1 } geom < square.quad } where ux,uy,uz are the x,y,z components of vector u, and so on, and p is the point known to lie on the plane. This matrix maps the origin to p, and maps vectors [1 0 0] and [0 1 0] to vectors lying in the plane. Since square.quad is a unit square in the XY plane centered on the origin, the above object should be what you want.


Home  Overview  FAQ  Documentation  Support  Download  Mailing List Windows?  Development  Bug Reporting  Contributing  Contact Us  Sponsors 

site hosted by 