Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /* 
  * Copyright 2011 Cologne University of Applied Sciences Licensed under the
  * Educational Community License, Version 2.0 (the "License"); you may
  * not use this file except in compliance with the License. You may
  * obtain a copy of the License at
  *
  * http://www.osedu.org/licenses/ECL-2.0
  *
  * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an "AS IS"
 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package org.amcgala.framework.camera;
Implementierung einer orthographischen Projektion. Es gehen jegliche Tiefeninformationen verloren. Die Kamera ist besonders dafür geeignet, 2D-Projektionen oder 2D GUI-Elemente zu realisieren, die über einer perspektivischen Szene zu sehen sind.

Author(s):
Robert Giacinto
public final class OrthographicCamera extends AbstractCamera {

    
Erzeugt eine neue Kamera an einer Position mit einem bestimmten Blickpunkt.

Parameters:
vup Das Oben der Kamera
position Die Position der Kamera
direction Der Punkt, zu dem die Kamera blickt
    public OrthographicCamera(Vector3d vupVector3d positionVector3d direction) {
        this. = vup;
        this. = position;
        this. = direction;
        update();
    }
    @Override
    public Matrix getProjectionMatrix() {
        return ;
    }
    @Override
    public void update() {
        this. = .sub().times(-1);
        this. = .cross().normalize();
        this. = .cross().normalize();
        double[][] vdValues = {
                {1, 0, 0, 0},
                {0, 1, 0, 0},
                {0, 0, 0, 0},
                {0, 0, 0, 1}
        };
        Matrix vd = Matrix.constructWithCopy(vdValues);
        Vector3d d = Vector3d.createVector3d(.dot(), .dot(), .dot());
        double[][] viewValues = {
                {...d.x},
                {...d.y},
                {...d.z},
                {0, 0, 0, 1}
        };
        Matrix kt = Matrix.constructWithCopy(viewValues);
         = vd.times(kt);
    }
    @Override
    public CVPoint getClippingSpaceCoordinates(Vector3d vector3d) {
        Matrix point = .times(vector3d.toMatrix());
        return new CVPoint(point.get(0, 0) / point.get(3, 0), point.get(1, 0) / point.get(3, 0),1);
    }
    @Override
    public Pixel getImageSpaceCoordinates(Vector3d vector3d) {
        Matrix point = .times(vector3d.toMatrix());
        return new Pixel(point.get(0, 0) / point.get(3, 0), point.get(1, 0) / point.get(3, 0));
    }
    private static final Logger log = LoggerFactory.getLogger(OrthographicCamera.class);
New to GrepCode? Check out our FAQ X