OpenGL rotativa uma câmara em torno de um ponto




Em OpenGL estou tentando girar uma câmera em torno de um ponto, com a câmera sendo distância r do ponto e de frente para o ponto quando ele gira. Em outras palavras, quer a câmara se mova ao longo da circunferência de um círculo com um raio R a partir do centro, com a câmara de frente para o centro, em qualquer ponto ao longo da circunferência.


Vamos dizer que no espaço 3D no centro do círculo é (3, 0, 3);


Eu tentei:



```
// move to center of circle    
glTranslatef(-3, 0, -3)
// move a distance away from the circle
glTranslatef(0, 0, r);
// rotate along the y up axis
glRotatef(CameraAngle, 0, 1, 0);

```

onde é CameraAngle os graus sendo movido em torno do círculo.


Meu resultado final é a câmera ainda está girando ao longo da origem, não o centro do círculo. Alguém pode me ajudar a resolver este problema? Obrigado!
Você precisa se quer:


* girar a câmera em torno da origem e, em seguida, traduzi-lo (*)


ou:


* usar `gluLookAt`para manter a apontar câmera para o centro do círculo


Funções de rotação (*) normalmente rodar em torno da origem. Para girar em torno de outro ponto `P`que você tem que:


* traduzir (-P)
* rodar
* traduzir (P)
oi, camila, como está?? :smiley: 
um bom caminho é você desenhar a circunferência no primeiro quadrante, pegar essa distância dada e ligar do centro até a origem 
assim oh: 
[image] 
aplicando pitágoras: 
hip² = cat² + cat² 
(3√2)² = r² + r² 
9.2 = 2r² 
r²= 9 
r= 3 
como o raio é 3, sabemos que cent… considere o centro da circunferência como ponto o. é possível pegando dois pontos da circunferência, sendo que um deles intercepta a tangente (a) e o outro não (b). se você traçar uma reta entre ob, esta reta interceptará a tangente em um ponto c. temos que oac formarão um triângulo retângulo. se souber as medidas ab e bc, saberá o raio (x) através de pitágoras e resolvendo em seguida uma equação do segundo grau. demais esclarecimentos, entrar em contato :) <p>acho q achei a resposta, supondo que o x da camera e do personagem sejam -31, seria -31 -(-31) &#61; -31 &#43;31 &#61; 0</p>
<p>então
transform.position &#61; jogador.transform.position &#43; 0 </p>
<p>ou</p>
<p>-31 &#61; -31 &#43; 0 </p> <p>fala fabiano, como vai?</p>
<p>quando criamos um círculo com a função <code>circle</code> e passamos os parâmetros, o p5 marca e posiciona os objetos pelo canto superior esquerdo. assim como a tela.</p>
<p>a posição <code>x</code> e <code>y</code> com o valor <code>0</code> é um exemplo de posicionamento do p5. criei um exemplo para você <a href="https://editor.p5js.org/guilima/sketches/xzzed\_asr" rel="nofollow">neste link</a>.</p>
<p>já operação <code>xbolinha - raio</code>, estamos alterando a posição do canto superior esquerdo, para o meio da bolinha, conforme <a href="https://imgur.com/a/tdfsqsv" rel="nofollow">esta imagem</a>.</p>
<p>espero ter ajudado e bons estudos!</p>
<p><strong>: )</strong></p> comprimento da circunferência = 2πr 

onde "r" = raio .

comprimento = 2*4*π = 8π 

observação: o valor de "π" só deve ser trocado por 3,14 ou por qualquer outro número quando for solicitado na questão. <p>eu já vi menus radiais algumas vezes. eu testei um complemento do firefox que organizava o menu contextual em um círculo. também foi usado em alguns jogos de computador (temple of elemental evil vem à mente quando penso nisso). de alguma forma, não funcionou.</p><ul> <li>é muito mais fácil digitalizar uma lista de opções (seus olhos se movem de cima para baixo) do que as opções dispostas em círculo (seus olhos devem se mover em várias direções).</li> <li>nem todas as opções são iguais. alguns são mais importantes ou usados ​​com mais frequência (devem estar mais próximos do ponteiro do mouse, de acordo com a lei de fitz) do que outros.</li> <li>você realmente tem um problema com itens e subitens mais longos. o jogo que mencionei anteriormente conseguiu lidar com isso muito bem visualmente, girando todas as opções em torno do ponto central. o problema é que, quando há mais opções, você precisa ler algumas delas de baixo para cima, outras da esquerda para a direita e o restante vai de cima para baixo.</li> </ul><p>acho que os menus contextuais radiais podem funcionar em situações específicas (baixo número de opções, itens podem ser representados como ícones sem texto, etc.). mas geralmente não são realmente uma boa ideia.</p> para responder essa pergunta devemos colocar em prática nosso conhecimento sobre controle de qualidade.o poder rotatório trata-se de uma rotação em graus produzida por uma solução aquosa de uma substância oticamente ativa, cuja composição quantitativa é de 1 g/cm3, contida num tubo com 1 dm de comprimento, a uma dada temperatura e em relação a uma dada luz monocromática.a determinação da mesma é importante, pois trata-se de um indicador para a análise estrutural e quantitativa de substâncias oticamente ativas. <p>oi ricardo, dá uma olhada se é isso aqui que você procura.</p>
<p><a href="https://www.guj.com.br/t/definicoes-sobre-orientacao-a-objetos/321141" rel="nofollow">https://www.guj.com.br/t/definicoes-sobre-orientacao-a-objetos/321141</a></p> <ul> <li>command + shift + 3 tira uma foto da tela inteira;</li> <li>command + shift + 4 tira uma foto de uma parte da tela;</li> <li>command + shift + 4 e, em seguida, barra de espaço, permite tirar uma foto de um elemento específico da tela (uma janela, dock, barra de menus, etc.)</li> </ul><p>se você deseja colocar a captura de tela na área de transferência (em vez de criar um arquivo de imagem), mantenha o controle pressionado enquanto pressiona a combinação de teclas.</p> Como faço pra volta a foto do perfil