math


Find any point on arc given center, start point, end point, total angle, normal, and radius


I have an 3D arc with coordinates such as:
start = (-3,6,12)
end = (-13,11,12)
center = (-9,6,14)
norm = (0.3204,0.6304,0.7071)
radius = 7
Along with angle information:
start angle = 216
total angle = 108
end angle = 324
Using the given information, I want to interpolate the arc at a specified distance. To do this, I perform the same operation in a loop and increment or decremented the angle depending on the direction I choose (start to end or vice-versa).
I figured out how to do so in 2D with the algorithm:
X = r * cosine(angle)
Y = r * sine(angle)
X = Cx + (r * cosine(angle))
Y = Cy + (r * sine(angle))
But once I add the Z axis it gets very confusing. I have been looking at multiple methods that use operations such as the cross product but these make me even more confused.
How should I proceed with this?
If center is center of circle, than you have almost all information needed for SLERP - spherical linear interpolation
p0 = start - circlecenter
p1 = end - circlecenter
p(t) = p0 * Sin(W*(1-t)) / Sin(W) + p1 * Sin(W*t) / Sin(W)
point(t) = circlecenter + p(t)
where p0 and p1 are starting and ending radius-vectors, W is total angle, t is
parameter in range 0..1 (so W*t lies in range 0..total angle)
If your center is middle of arc, you can find circle center:
chord = end - start
uchord = chord.normalize //(unit vector)
perp = VectorProduct(normal, uchord) //unit vector in circle plane
circlecenter = middle + perp * radius

Related Links

How can I create a random 256 bit integer in Dart?
Prolog recursive arithmetic
Change of Steepness, how to do
type a = {X:int; Y:int} vs type a = |X of int |Y of int
how to find bitwise AND operations value using school math [duplicate]
How to replicate adding/mixing of HSV values in RGB space
Rotate quaternion on all 3 axis from axis angle in GLM
How to revert a transformation?
How do you define summary and extension of weighted finite state transducers?
How to validate a International Securities Identification Number (ISIN) number
prolog: rule to check pythagorean triplet?
find point on a line segment to form right triangle? [closed]
Non-linear slerp animation with quaternion
Sampling A Percentage Of Web Traffic
Tangents on a flat surface [duplicate]
How to weigh percentage versus quantity?

Categories

HOME
vb.net
vr
orbeon
auth0
blogs
amazon-kinesis
libreoffice
twitter-digits
fpdf
gluu
delphi-xe7
entity
py.test
player-swift
range
mobilefirst-adapters
telnet
xorg
cross-compiling
aac
vulkan
calabash-android
flow
servlet-filters
formio
jscodeshift
jmeter-plugins
deadbolt
csom
liferay-aui
slf4j
padding
trial
laravel-valet
codeceptjs
solarwindslem
popupwindow
python-behave
pymysql
apache-commons-httpclient
seh
haxm
google-domain-api
gridstack
executorservice
jdom-2
ecmascript-4
nomenclature
btle
nexus-5
httpexception
freecodecamp
mrtg
attributerouting
masm32
curly-braces
sizing
ipopt
proc
ubuntu-15.04
android-location
groups
app-engine-ndb
groupbox
clipping
many-to-one
oboe.js
android-listfragment
mkpolyline
movie
janino
information-schema
brooklyn
django-postgresql
asf
aps
pkcs#10
hobbitmon
hebrew
xidel
ccombobox
memento
cassette
wescheme
haar-wavelet
vote
hiphop
msxsl
jsr223
zmodem
ms-access-97
data-oriented-design
azure-role-environment
markitup
project-settings
68hc11

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App