我在找一种用opengl绘制圆柱体的好方法,我试着画多个圆圈
for (GLuint m = 0; m <= segments; ++m) {
for (GLuint n = 0; n <= segments; ++n) {
GLfloat const t = 2 * M_PI * (float) n / (float) segments;
//position
points[num++] = x + sin(t) * r;
points[num++] = .0005 * m;
points[n
我正在使用graphics.py库用Python编写一个程序。我想画两个圆圈,然后在循环中移动其中一个绕着另一个。我知道我必须使用sin和cos函数,但我不知道它的数学公式是什么。
这是我的密码:
from graphics import *
from math import sin, cos, pi
from time import sleep
win = GraphWin('Program', 500, 500)
win.setBackground('white')
c = Circle(Point(250, 250), 50)
c.draw(win)
我试着用Scilab来画,但是我做不到。
你知道为什么下面的代码不能工作吗?
t = 0:.001:2*%pi;
xc = 4;
yc= 4;
r =2 ;
n = 1:length(t)/32 : length(t);
v =0:.001:r;
for k =1:length(n)
if modulo(k,2) ==0 then
for a=1:length(t)
for b =1:length(v)
x(a) = xc+ (r-v(b)) *cos(t(a));
y(a) =
我做日晷模拟器,画椭圆,然后在这个椭圆上画几个小时。每一个our都是由以下内容指定的:
x = a * sin(t);
y = b * cos(t);
其中:
a- length of longer semi-axis
b- length of smaller semi-axis
t- hour in degrees ( 1 hour == 15 degrees)
我用Matlab编写了这个函数:
function [hx,hy] = calcHourCoords(ra,rb)
%input:
%ra, rb length of semi-axis in ellipse
我找不到在两条线之间画ARC的方法。我的限制是:我必须计算这个弧笔画点。因为我使用的是InkCanvas,而且我必须逐点绘制这个弧线,所以我不能将任何对象放到屏幕或画布上。所以我知道我可以用PATH对象绘制任何弧线并使用ArcSegment。用这种方法,是的,我可以画弧线,但这不是画布上的笔尖。因此,我不能删除或保存它。无论如何,我需要逐点计算这个拱形。
我有在画布上画圆的代码,如下所示:
Stroke GetCircleStroke(int centerX, int centerY, int radiusX, int radiusY,double angletoDraw=2.0)
我试图在OpenGL中为编织模式编写代码。
现在,我试图用圆圈为类似的模式编写代码。我用点画一个圆,每个点都是用cos和sin函数画的。我知道这并不像SeigeLord的方法那样有效,因为它能更好地利用资源。我能得到圆圈,我想在圆周上得到点。
我的代码:
#include<GL/glut.h>
#include<stdio.h>
#include<math.h>
int n, r;
void display()
{
int i, j;
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_CO
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import mpl_toolkits.mplot3d as Axes3D
r = 20
h = 1.7
phi = np.linspace(0, 4*np.pi, 1000)
theta = np.linspace(-np.pi/4, np.pi/4, 1000)
#theta = np.arcsin(0.524)
x = r * np.cos(phi)
y = r * np.sin(phi) * np.co
我想在html5画布中将图像转换为倾斜/透视/旋转。下面的图片正是我想要做的。
我有这段代码在画布中使用转换,但我不能用它做正面或反面。有人能帮帮我吗?
此外,我只希望这是在HTML5画布,而不是css。
var cs = Math.cos(angle1), sn = Math.sin(angle1);
var h = Math.cos(angle2);
var a = 100*cs, b = -100*sn, c = 200;
var d = h*100*sn, e = h*100*cs, f = 200;
ctx.setTransform(a, d, b, e, c, f);
我正在尝试用Java做一些非常简单和粗糙的图形东西(故意粗糙和简单,因为它模拟了1980/1981年的计算环境)。
Java (实际上是Groovy)代码运行一些非常简单的基本代码:
10 REM Testing Plotting
20 FOR X = 0 TO 31
30 LET Y = SIN(X/10)
40 PLOT (X, 11 - Y * 11)
50 NEXT X
在Java/Groovy中提供的Plot如下所示:
grafix = textArea.getGraphics()
....
def plot(def x, def y)
{
grafix.fillR