Умножить поплавок и вектор?Итак, шкала val: float -> float * float -> float * float? - PullRequest
0 голосов
/ 30 сентября 2018

Как мне сделать функцию scale (), которая умножает число с плавающей точкой и вектор.Он должен использовать эту библиотеку, показанную здесь?Я думаю, что это называется библиотека, извините, если это не так.

/// Multiplication of a float and a vector
val scale : float -> float * float -> float * float

Потратил 4 часа, пытаясь это выяснить.

Мое задание (3-я неделя наук о данных): у меня есть файл сигнатуры, содержащий библиотеку 2D-векторов, и мне нужно сделатьфункции из него с использованием этой библиотеки.

/// A 2D vector library

/// Vectors are represented as pairs of floats module vec2d

/// The length of a vector
val len : float * float -> float
/// The angle of a vector
val ang : float * float -> float
/// Multiplication of a float and a vector
val scale : float -> float * float -> float * float
/// Addition of two vectors
val add : float * float -> float * float -> float * float
/// Dot product of two vectors
val dot : float * float -> float * float -> float

В настоящее время у меня есть:

// LENGTH OF A VECTOR
// val len : float * float -> float
let len (x: float, y: float) =
    sqrt(x**2.0 + y**2.0)

// ANGLE OF A VECTOR
// val ang : float * float -> float
let ang (x: float, y: float) =
    Math.Atan2(y, x)

// MULTIPLICATION OF A FLOAT AND A VECTOR
// val scale : float -> float * float -> float * float
let scale () =
    None

/// ADDITION OF TWO VECTORS
// add : float * float -> float * float -> float * float 
let add (xy1: float, xy2: float) =
    None 

/// DOT PRODUCT OF TWO VECTORS
// dot : float * float -> float * float -> float
let dot (xy1: float, xy2: float) =
    None

enter image description here

Любая помощь /намек был бы очень полезен!Я застрял!

1 Ответ

0 голосов
/ 30 сентября 2018

Это то, что вы ищете?

let scale n (x: float, y: float) =
    n*x, n*y

Это умножает каждое из значений в кортеже вектора (x, y) на число с плавающей запятой n.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...