Here you can find the source of normalizeVector(final double[] v)
public static void normalizeVector(final double[] v)
//package com.java2s; /*/*from w w w. j a v a 2 s .c o m*/ * Copyright (C) 2013 by Array Systems Computing Inc. http://www.array.ca * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 3 of the License, or (at your option) * any later version. * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, see http://www.gnu.org/licenses/ */ public class Main { public static void normalizeVector(final double[] v) { final double norm = Math.sqrt(innerProduct(v, v)); v[0] /= norm; v[1] /= norm; v[2] /= norm; } public static double innerProduct(final double[] a, final double[] b) { return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; } }