小编Mat*_*iak的帖子

Perlin噪声梯度函数

我正在寻求将3D Perlin噪声算法调整到更低的尺寸,但是我遇到了梯度函数的问题,因为我不完全理解这个推理.

原始的Perlin渐变函数有四个参数:a hash和三维坐标(x, y, z).函数的结果将根据hash mod 16下面的值返回.

  • 0: x + y
  • 1: -x + y
  • 2: x - y
  • 3: -x - y
  • 4: x + z
  • 5: -x + z
  • 6: x - z
  • 7: -x - z
  • 8: y + z
  • 9: -y + z
  • 10: y - z
  • 11: -y - z
  • 12: y + x
  • 13: …

perlin-noise

7
推荐指数
1
解决办法
2475
查看次数

交互式和编译的Haskell之间的不同结果(Project Euler 20)

我在Project Euler上做了问题20 - 找到100的数字之和!(阶梯,而不是热情).

这是我写的程序:

import Data.Char

main = print $ sumOfDigits (product [1..100])

sumOfDigits :: Int -> Int
sumOfDigits n = sum $ map digitToInt (show n)
Run Code Online (Sandbox Code Playgroud)

我编译它ghc -o p20 p20.hs并执行它,只0在我的命令行上.

困惑,我调用ghci并运行以下行:

sum $ map Data.Char.digitToInt (show (product [1..100]))

这返回了正确的答案.为什么编译版本不起作用?

haskell

7
推荐指数
1
解决办法
173
查看次数

纠正采用二进制数据的nullipotent操作的HTTP请求方法

考虑一个没有副作用的Web API方法,但它将二进制数据作为参数.一个示例是一种方法,该方法告诉用户他们的图像是否被图片化,但是不会将图像或结果永久地存储在其服务器上.

这种方法应该是a GET还是POST

GET似乎没有推荐的方法在URL参数之外发送数据,但该方法的行为意味着a GET,根据HTTP规范,这是为了安全,无状态响应.这在REST的语义下尤其受到限制,这意味着POST方法在服务器上创建了一个新对象.

rest post get http asp.net-web-api

7
推荐指数
1
解决办法
3348
查看次数

16位灰度TIFF

什么是16位灰度TIFF的位格式?我读到只有10位实际上包含强度数据 - 这是真的吗?当我尝试使用imshow()在Matlab中打开16位TIFF时,图像是完全黑色的,但同样的图像缩小到8位显示正常.

matlab tiff image

6
推荐指数
2
解决办法
9542
查看次数

与OCaml中的多个实现接口

在OCaml中创建接口的传统方法是什么?通过创建接口文件foo.mli和实现文件foo.ml,可以使用单个实现的接口,但是如何为同一个接口创建多个实现?

ocaml module interface

6
推荐指数
2
解决办法
876
查看次数

哪些数学主题对于深入理解Haskell最为​​关键?

Haskell是一种具有许多根植于形式数学的特征的语言.我应该学习哪些数学主题才能更深入地理解和理解语言?例如,我认为抽象代数和范畴理论都是很好的主题.

math haskell

6
推荐指数
2
解决办法
414
查看次数

对 RESTful API 的异步请求是否应该有一个单独的 URI?

考虑一个需要很长时间的方法的 Web API。客户端既可以发出同步请求并等待响应,也可以发出异步请求并接收标准202 Accepted响应和状态链接。

在 RESTful 语义下,这两个选项应该作为两个单独的 URI 存在,还是应该是相同的 URI,并且在标头参数中带有异步选项?

rest asynchronous asp.net-web-api

6
推荐指数
1
解决办法
1547
查看次数

Stripe API网址中的/ v1/for是什么?

用于版本控制状态的Stripe API文档:

当我们对API进行向后兼容的更改时,我们会发布新的日期版本.当前版本是2014-12-08.

它提供了如何访问charge特定版本的API 的示例:

curl https://api.stripe.com/v1/charges \
-u sk_test_BQokikJOvBiI2HlWgH4olfQ2: \
-H "Stripe-Version: 2014-12-08
Run Code Online (Sandbox Code Playgroud)

如果header参数是指定版本的内容(在本例中为2014-12-08),\v1\则url中的用途是什么?

versioning asp.net-web-api stripe-payments

5
推荐指数
1
解决办法
1769
查看次数

在monad上映射箭头

据我所知,一个箭头是Profunctor,其中一个可以将其输入和输出,而是一个可以映射一个箭头一个仿函数?

据我所知,答案是"不",因为fmap函数类型签名是(a -> b) -> f a -> f b并且不承认Arrow a b,但我希望我所要求的是清楚的.

我正在寻找一种方式,例如,变换Maybe输入带有箭头,在NothingNothingJust xJust y哪里y是将箭头的结果x.

haskell arrows category-abstractions

5
推荐指数
1
解决办法
148
查看次数

为更高级别的数据派生实例

这个问题是基于这种合理多态的博客文章中描述的高级数据模式.

在下面的代码块中,我定义了一个类型系列HKD和一个数据类型Person,其中的字段可以是MaybeIdentity.

{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeFamilies  #-}

import           Data.Aeson

-- "Higher Kinded Data" (http://reasonablypolymorphic.com//blog/higher-kinded-data)
type family HKD f a where
    HKD Identity a = a
    HKD Maybe a = Maybe a

data Person f = Person
  { pName :: HKD f String
  , pAge  :: HKD f Int
  } deriving (Generic)
Run Code Online (Sandbox Code Playgroud)

然后我尝试派生ToJSON这种类型的实例.

-- Already provided in imports:
-- instance ToJSON String
-- instance ToJSON Int …
Run Code Online (Sandbox Code Playgroud)

haskell type-families higher-kinded-types

5
推荐指数
1
解决办法
404
查看次数