把一个圆柱体变成一个球体而不会夹住两极

我正在努力生成一个由六边形网格制成的星球。 两极是不需要的 – 使这一点更容易。 有没有更好的方法把圆柱体变成一个六angular形或三angular形的球体? 这是所需的步骤: 生成一个六边形的2D平面(ok) 把飞机变成一个气缸(好) 把油缸变成球体/地圈(种类) 对于第二步,我只是使用Sin和Cos将顶点移动到圆形。 对于第3步,现在我只是使用: vertices[i] = vertices[i].normalized * radius; 图像可视化的问题,因为它是目前。 请注意,杆是有意切断的。 红色的部分显示了一个六边形网格的外观。 我将不得不保持大致相同的大小和方向,因为它们被用于游戏和视觉元素。 每个hex都有一个邻居列表,基本上就像一个图。

显示更新时从Flask视图stream式传输的数据

我有一个生成数据并实时stream的视图。 我不知道如何将这些数据发送到我可以在我的HTML模板中使用的variables。 我目前的解决scheme只是输出数据到一个空白页面到达,这是有效的,但我想包括在一个更大的页面格式。 数据stream式传输到页面时,如何更新,格式化和显示数据? import flask import time, math app = flask.Flask(__name__) @app.route('/') def index(): def inner(): # simulate a long process to watch for i in range(500): j = math.sqrt(i) time.sleep(1) # this value should be inserted into an HTML template yield str(i) + '<br/>\n' return flask.Response(inner(), mimetype='text/html') app.run(debug=True)

AVX2什么是基于掩码打包左边最有效的方法?

如果你有一个input数组和一个输出数组,但你只想写出那些通过一定条件的元素,那么在AVX2中这样做最有效的方法是什么? 我在SSE看到它是这样做的:(从: https : //deplinenoise.files.wordpress.com/2015/03/gdc2015_afredriksson_simd.pdf ) __m128i LeftPack_SSSE3(__m128 mask, __m128 val) { // Move 4 sign bits of mask to 4-bit integer value. int mask = _mm_movemask_ps(mask); // Select shuffle control data __m128i shuf_ctrl = _mm_load_si128(&shufmasks[mask]); // Permute to move valid values to front of SIMD register __m128i packed = _mm_shuffle_epi8(_mm_castps_si128(val), shuf_ctrl); return packed; } […]

通过js或查询强制下载

是否有可能强制通过JS或Javascript的下载,即网页不应该在浏览器的新标签中打开文件,而是popup让用户select“另存为”或打开???

didSelectRowAtIndexPath不工作,Swift 3

任何人都可以看到为什么在世界didSelectRowAtIndexPath不会被称为? 我已经在代码和故事板中通过delegate进行三重检查。 class AddCard: UIViewController,UIPopoverPresentationControllerDelegate, UITableViewDataSource, UITableViewDelegate { @IBOutlet weak var cardView: UIView! @IBOutlet weak var tableView: UITableView! let tableItems = ["Background Color","Background Image","Font Style","Font Color"] let cellID = "cell" override func viewDidLoad() { super.viewDidLoad() tableView.delegate = self tableView.dataSource = self } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be […]

JSFiddle代码不能在我自己的页面中工作

我有一些在JSFiddle中工作的代码,但是我不能运行在我自己的页面中。 HTML <body style="background-color: #000000"> <form oninput="amount.value=range.value" style="color:#1ec2c5;"> <output name="amount" for="range">2</output><a> KM</a> <input type="range" name="range" min="1" max="9" step="1" value="2" id="test"> </body> CSS input[type="range"]{ -webkit-appearance: none; -moz-apperance: none; border-radius: 6px; width: 225px; height: 6px; border: 2px solid #eceef1; outline:none; background-image: -webkit-gradient( linear, left top, right top, color-stop(0.15, #eceef1), color-stop(0.15, #0c0d17) ); } input[type='range']::-webkit-slider-thumb { -webkit-appearance: none […]

如何下载文件,而不使用<a>元素与下载属性或服务器?

根据caniuse , Microsoft Edge build 10547+支持<a>元素的download属性,但不支持IE或Safari 。 如何下载文件对象,而不使用带有download属性集的<a>元素或服务器?

为什么不是可以转换为?

考虑以下几点: struct SomeStruct {} var foo: Any! let bar: SomeStruct = SomeStruct() foo = bar // Compiles as expected var fooArray: [Any] = [] let barArray: [SomeStruct] = [] fooArray = barArray // Does not compile; Cannot assign value of type '[SomeStruct]' to type '[Any]' 我一直在试图find这背后的逻辑,但没有运气。 值得一提的是,如果你把这个结构改成一个类,它就可以正常工作。 总是可以添加一个解决方法,映射fooArray的每个对象,并将它们转换为Anytypes,但这不是问题。 我正在寻找一个解释,为什么这是这样的行为。 有人可以解释一下吗? 这个问题导致了我这个问题。

INC指令与ADD 1:有关系吗?

大多数情况下,我现在远离INC和DEC,因为他们做了部分条件代码更新,这可能会导致pipe道中有趣的停顿,而ADD / SUB则不会。 所以在哪里不重要(大多数地方),我使用ADD / SUB来避免摊位。 我只在保持代码小的时候才使用INC / DEC,例如,在一个或两个指令的大小足够大的caching行中进行匹配。 这可能是毫无意义的纳米[字面上!] – 优化,但我在我的编码习惯相当老派。 作者:@Ira Baxter 上面的片段来自INC和DEC指令为什么不影响进位标志? 而且我想问一下,为什么会导致pipe道堵塞,而添加不了? 毕竟,add和inc都会更新标志寄存器。 唯一的区别是inc不更新CF. 但为什么这很重要?

为什么我在这里看到“访问控制 – 允许来源不允许的来源”错误?

我看到以下错误: Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin 与此代码: var http = new getXMLHttpRequestObject(); var url = "http://gdata.youtube.com/action/GetUploadToken"; var sendXML = '<?xml version="1.0"?><entry xmlns="http://www.w3.org/2005/Atom"'+ 'xmlns:media="http://search.yahoo.com/mrss/'+ 'xmlns:yt="http://gdata.youtube.com/schemas/2007">'+ '<media:group><media:title type="plain">My First API</media:title>'+ '<media:description type="plain">First API</media:description>'+ '<media:category scheme="http://gdata.youtube.com/schemas/2007/categories.cat">People</media:category>'+ '<media:keywords>first, api</media:keywords></media:group></entry>'; http.open("POST", url, true); http.setRequestHeader("Authorization", "AuthSub token=" + AccessToken); http.setRequestHeader("X-GData-Key", "key="+ dev_key); http.setRequestHeader("Content-Type", "application/atom+xml; charset=UTF-8"); http.onreadystatechange = function() { […]