我手动画了一个球体,最后:)我希望我的球体是红色的,但轮廓是绿色的:

为了实现这一目标,我做了以下工作.我画了一个红色的实心球体,然后我绘制了相同的球体,但线框和绿色.当我打开DEPTH_TEST时,我得到了一些奇怪的行为,如下所示:
为了避免这种奇怪的行为,我只是绘制了有线球体,(1.001, 1.001, 1.001)并且绘制了所有内容,就像在第一张图片中一样.我的问题是,我是一个真正的新手,做得不好吗?有没有更好的方法来做我想做的事情?提前致谢.
PS我为了练习而手动绘制球体,我知道有葡萄糖二次曲线例程和过剩球体的存在.
请展示为python 2.x创建python包的简单和最新标准方法
我希望稍后使用pip来安装软件包.
包应该包含一个类:
class hello:
def greet(self):
print "hello"
Run Code Online (Sandbox Code Playgroud)
之后应该可以执行以下操作:
pip install my_package-0.1.1....
Run Code Online (Sandbox Code Playgroud)
然后使用它:
from my_package import hello
h = hello.hello()
h.greet()
Run Code Online (Sandbox Code Playgroud)
我要的是:
我找到了几个howtos,但我仍然不确定这个非常简单和剥离的情况(没有嵌套包,删除所有文件和功能,可以在最简单的情况下省略)将如何处理,这是现代的这样做的方式.
我希望这个问题进入社区维基状态,所以你不会得到任何积分,我会给出足够的时间,并在几天之后标记答案,同时考虑投票和评论.
编辑:
我有一个我要分享的第一个运行示例,我使用了Marius Gedminas的答案.它不包含应该存在的所有内容,但它有效,因此它可以展示技术过程的核心.要添加更多必要部件,请阅读下面的Marius的答案.
目录结构:
MyProject/
setup.py
my_package.py
README.txt
MANIFEST.in
Run Code Online (Sandbox Code Playgroud)
setup.py:
from setuptools.import setup
setup(name='MyProject',
version='0.1',
py_modules=['my_package'])
Run Code Online (Sandbox Code Playgroud)
my_package.py:
class hello:
def greet(self):
print "hello"
Run Code Online (Sandbox Code Playgroud)
MANIFEST.in:
include *.txt
Run Code Online (Sandbox Code Playgroud)
要从此文件夹创建包,请进入MyProject文件夹并运行:
$ python setup.py sdist
Run Code Online (Sandbox Code Playgroud)
这将MyProject-0.1.tar.gz在子文件夹中创建一个文件dist/.将此文件复制到目标计算机上的文件夹中.
在目标计算机上运行此命令,该文件夹包含MyProject-0.1.tar.gz:
sudo pip install MyProject-0.1.tar.gz
Run Code Online (Sandbox Code Playgroud)
现在可能需要在目标计算机上注销并重新登录,因此将找到该程序包.之后,您可以使用python shell在目标机器上测试包:
$ python
>>> import my_package …Run Code Online (Sandbox Code Playgroud) 在Delphi中,你如何才能最终使用try,并一起使用?Java/C#等价物看起来像:
try {
// Open DB connection, start transaction
} catch (Exception e) {
// Roll back DB transaction
} finally {
// Close DB connection, commit transaction
}
Run Code Online (Sandbox Code Playgroud)
如果你在Delphi中尝试这个,你可以使用try/finally或try/except; 但从来没有三个在一起.我想代码如下(不编译):
try
// Open DB connection, start transaction
except on e: Exception do
begin
// Roll back transaction
end
finally // Compiler error: expected "END" not "finally"
begin
// Commit transaction
end
Run Code Online (Sandbox Code Playgroud) 我收到这个错误
可捕获的致命错误:类 __PHP_Incomplete_Class 的对象无法转换为 user.php 中第 248 行的字符串,这是该行
function loadUser($userID)
{
global $db;
$res = $db->getrow("SELECT * FROM `{$this->dbTable}` WHERE `{$this->tbFields['userID']}` = '".$this->escape($userID)."' LIMIT 1");
if ( !$res )
return false;
$this->userData = $res;
$this->userID = $userID;
$_SESSION[$this->sessionVariable] = $this->userID;
return true;
}
Run Code Online (Sandbox Code Playgroud)
看
var_dump($_SESSION);
array(1) { ["user"]=> &object(__PHP_Incomplete_Class)#1 (12) { ["__PHP_Incomplete_Class_Name"]=> string(11) "jooria_user" ["dbTable"]=> string(5) "users" ["sessionVariable"]=> string(4) "user" } }
Run Code Online (Sandbox Code Playgroud) 我正在建立一个新的JPA + Spring项目.有什么区别(对于我作为程序员而言):
<tx:annotation-driven transaction-manager="transactionManager" />
Run Code Online (Sandbox Code Playgroud)
和
<tx:annotation-driven mode="aspectj" transaction-manager="transactionManager" />
Run Code Online (Sandbox Code Playgroud)
在我的applicationContext.xml中?
我正在尝试根据SQL 2005中的条件结果填充临时表.临时表将具有相同的结构,但将根据条件使用不同的查询填充.下面的简化示例脚本在ELSE块的语法检查中失败,INSERT INTO错误为:
数据库中已经有一个名为"#MyTestTable"的对象.
DECLARE @Id int
SET @Id = 1
IF OBJECT_ID('tempdb..#MyTestTable') IS NOT NULL DROP TABLE #MyTestTable
IF (@Id = 2) BEGIN
SELECT 'ABC' AS Letters
INTO #MyTestTable;
END ELSE BEGIN
SELECT 'XYZ' AS Letters
INTO #MyTestTable;
END
Run Code Online (Sandbox Code Playgroud)
我可以在IF/ELSE语句之前创建临时表,然后只INSERT SELECT在条件块中执行语句,但是表会有很多列,我试图提高效率.这是唯一的选择吗?或者有一些方法可以使这项工作?
谢谢,马特
给定一个带有datetime列的表,如何查询日期与我指定的值匹配但忽略时间部分的行?
例如, select * from sales where salesDate = '11/11/2010'
对于此查询,我们不关心时间.其他查询需要时间组件,因此我们不能仅存储日期组件.
谢谢!
将XsltListViewWebPart添加到网站定义的default.aspx的最佳方法是什么?
我试图通过从现有页面复制XML来声明性地将一个添加到定义的default.aspx中,但是有许多对查看和列表guids的引用,在配置站点之前我不会这样做.另一种方法是通过站点配置或功能激活事件处理程序以编程方式添加到default.aspx,但是在创建站点之前无法获得对default.aspx的引用.
在与GCC链接时,如何仅将某些特定库静态链接到我的二进制文件?
gcc ... -static ...尝试静态链接所有链接库,但我没有其中一些的静态版本(例如:libX11).
我正在使用Oracle PL/SQL.
我有一个带时间戳的表T,我想将列A的行值设置为与前一行的值相同,如果它们按列B和时间戳排序,前提是时间戳的差别不大于45秒
在伪代码中,它是这样的:
UPDATE T t_curr
SET A =
(SELECT A
FROM T t_prev
INNER JOIN t_curr
ON (t_prev is the row right before t_curr, when you sort by B and Timestamp)
AND t_curr.Timestamp - t_prev.Timestamp < 45
)
Run Code Online (Sandbox Code Playgroud)
我试过这个:
UPDATE T t_curr
SET A =
(SELECT A
FROM T t_prev
INNER JOIN t_curr
ON RANK (t_curr)
OVER (B, Timestamp)
= 1 + RANK (t_prev)
OVER (B, Timestmap)
AND t_curr.Timestamp - t_prev.Timestamp < 45
)
Run Code Online (Sandbox Code Playgroud)
但我得到了:
错误(38,16):PL/SQL:ORA-00934:此处不允许组功能
指着RANK的第一个实例.
我做错了什么,我怎么做到这一点?
sql ×3
c++ ×1
delphi ×1
gcc ×1
geometry ×1
insert-into ×1
java ×1
linker ×1
listview ×1
opengl ×1
ora-00934 ×1
oracle ×1
outlining ×1
packaging ×1
php ×1
python ×1
python-2.x ×1
spring ×1
temp-tables ×1
transactions ×1